diff options
author | Matěj Cepl <mcepl@cepl.eu> | 2024-06-02 21:56:45 +0200 |
---|---|---|
committer | Bryan Gardiner <bog@khumba.net> | 2024-07-19 20:30:21 -0700 |
commit | d75a1d7341e07a0bf4e1ba5fbf11b751c8f96bbf (patch) | |
tree | bfdfdc7a72109146c900d06ace5a52c6fe942324 | |
parent | 2d0ad6a9012c823eac72a9c92e5b082a18190eeb (diff) | |
download | lazygl2srht-d75a1d7341e07a0bf4e1ba5fbf11b751c8f96bbf.tar.gz |
feat: delayed closing of tickets.
Delaying should hopefully help todo.sr.ht to process all previous
changes before the tickets are closed.
-rwxr-xr-x | import_issues.py | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/import_issues.py b/import_issues.py index 1b7c538..eee6ce6 100755 --- a/import_issues.py +++ b/import_issues.py @@ -145,6 +145,8 @@ logging.basicConfig( ID_RE = re.compile(r"^[0-9]+$") +tickets_to_be_closed = [] + def get_labels(tracker: str) -> list[dict[str, str]]: """ @@ -386,17 +388,15 @@ def file_missing_ticket( issue_count += 1 - # TODO Send these emails at the end, so that there isn't such a need for the - # previous issue to be processed promptly. - close_ticket( - smtp=smtp, - delay=delay, - mode=mode, - tracker=tracker, - frm=frm, - issue_id=issue_count, - closed_at=None, - is_closed=False, # Save one line of text. + tickets_to_be_closed.append( + ( + smtp, + delay, + mode, + tracker, + frm, + issue_count, + ) ) @@ -742,6 +742,19 @@ def run( is_closed=(issue_json["state"] == "closed"), ) + log.info("Delayed closing issues.") + for ticket in tickets_to_be_closed: + close_ticket( + smtp=ticket[0], + delay=ticket[1], + mode=ticket[2], + tracker=ticket[3], + frm=ticket[4], + issue_id=ticket[5], + closed_at=None, + is_closed=False, + ) + def main(): parser = argparse.ArgumentParser( |