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

Dávkový upload umí poznat i jména vytvořená jednotlivým stahováním

parent d64fbf0b
Branches
No related tags found
No related merge requests found
...@@ -109,6 +109,8 @@ class UploadFeedback: ...@@ -109,6 +109,8 @@ class UploadFeedback:
def parse_feedback_name(name: str) -> Optional[UploadFeedback]: def parse_feedback_name(name: str) -> Optional[UploadFeedback]:
name = os.path.basename(name) name = os.path.basename(name)
# Formát jmen generovaný dávkovým stahováním
m = re.match(r'(?P<task>[^_]+)_(?P<order>\d+)_(?P<user_id>\d+)_', name) m = re.match(r'(?P<task>[^_]+)_(?P<order>\d+)_(?P<user_id>\d+)_', name)
if m: if m:
return UploadFeedback( return UploadFeedback(
...@@ -116,7 +118,18 @@ def parse_feedback_name(name: str) -> Optional[UploadFeedback]: ...@@ -116,7 +118,18 @@ def parse_feedback_name(name: str) -> Optional[UploadFeedback]:
task_code=m['task'], task_code=m['task'],
user_id=int(m['user_id']), user_id=int(m['user_id']),
) )
else:
# Formát jmen, pod kterými se ukládají jednotlivě stahovaná řešení
m = re.match(r'(?P<task>.+)-reseni-(?P<paper_id>\d+)\.', name)
if m:
paper = db.get_session().query(db.Paper).get(int(m['paper_id']))
if paper:
return UploadFeedback(
file_name=name,
task_code=m['task'],
user_id=paper.for_user,
)
return None return None
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment