From 6e7d3b97e81be68660c19d5dd965c3d648c1f5fb Mon Sep 17 00:00:00 2001
From: Martin Mares <mj@ucw.cz>
Date: Tue, 30 Nov 2021 18:29:17 +0100
Subject: [PATCH] fix-submits: Nastavujeme fixed_at

---
 bin/fix-submits | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/bin/fix-submits b/bin/fix-submits
index 9fccdc73..8bde2641 100755
--- a/bin/fix-submits
+++ b/bin/fix-submits
@@ -1,6 +1,7 @@
 #!/usr/bin/env python3
 
 import argparse
+import datetime
 import os
 from sqlalchemy.orm import joinedload
 import subprocess
@@ -29,7 +30,7 @@ def fix_paper(id: int):
              .get(id))
     assert paper is not None
     assert paper.orig_file_name is not None
-    print(f"=== Paper #{id} ({paper.orig_file_name})")
+    print(f"=== Paper #{id} ({paper.orig_file_name}){' [RETRY]' if paper.fixed_at else ''}")
 
     tmp_file = tempfile.NamedTemporaryFile(dir=mo.util.data_dir('tmp'), prefix='fix-')
     res = subprocess.run(['qpdf', os.path.join(mo.util.data_dir('submits'), paper.orig_file_name), tmp_file.name])
@@ -37,16 +38,16 @@ def fix_paper(id: int):
         sub = mo.submit.Submitter()
         try:
             sub.submit_fix(paper, tmp_file.name)
-            sess.commit()
             fixed += 1
         except mo.submit.SubmitException:
-            sess.rollback()
             errors += 1
     else:
         print(f'--> ERROR: qpdf failed with exit code {res.returncode}')
-        sess.rollback()
         errors += 1
 
+    paper.fixed_at = datetime.datetime.now()
+    sess.commit()
+
 
 if args.id is not None:
     fix_paper(args.id)
-- 
GitLab