aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatěj Cepl <mcepl@cepl.eu>2024-06-02 21:56:45 +0200
committerBryan Gardiner <bog@khumba.net>2024-07-19 20:30:21 -0700
commitd75a1d7341e07a0bf4e1ba5fbf11b751c8f96bbf (patch)
treebfdfdc7a72109146c900d06ace5a52c6fe942324
parent2d0ad6a9012c823eac72a9c92e5b082a18190eeb (diff)
downloadlazygl2srht-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-ximport_issues.py35
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(