Skip to content
Snippets Groups Projects
Commit 6e7d3b97 authored by Martin Mareš's avatar Martin Mareš
Browse files

fix-submits: Nastavujeme fixed_at

parent 7f041d63
No related branches found
No related tags found
1 merge request!109Automatická oprava rozbitých PDF
#!/usr/bin/env python3 #!/usr/bin/env python3
import argparse import argparse
import datetime
import os import os
from sqlalchemy.orm import joinedload from sqlalchemy.orm import joinedload
import subprocess import subprocess
...@@ -29,7 +30,7 @@ def fix_paper(id: int): ...@@ -29,7 +30,7 @@ def fix_paper(id: int):
.get(id)) .get(id))
assert paper is not None assert paper is not None
assert paper.orig_file_name 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-') 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]) 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): ...@@ -37,16 +38,16 @@ def fix_paper(id: int):
sub = mo.submit.Submitter() sub = mo.submit.Submitter()
try: try:
sub.submit_fix(paper, tmp_file.name) sub.submit_fix(paper, tmp_file.name)
sess.commit()
fixed += 1 fixed += 1
except mo.submit.SubmitException: except mo.submit.SubmitException:
sess.rollback()
errors += 1 errors += 1
else: else:
print(f'--> ERROR: qpdf failed with exit code {res.returncode}') print(f'--> ERROR: qpdf failed with exit code {res.returncode}')
sess.rollback()
errors += 1 errors += 1
paper.fixed_at = datetime.datetime.now()
sess.commit()
if args.id is not None: if args.id is not None:
fix_paper(args.id) fix_paper(args.id)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment