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

Diplomy: Zobecněno hledání standardního pozadí

parent d0e06d55
No related branches found
No related tags found
No related merge requests found
......@@ -41,6 +41,21 @@ class BackgroundType(db.MOEnum):
def friendly_name(self) -> str:
return background_type_names[self]
def find_default_background(self, round: db.Round) -> Optional[str]:
bg = self.name
certs_dir = mo.util.data_dir('certs')
candidates = [
f'{round.round_code()}/bg-{bg}.pdf',
f'bg-{bg}.pdf',
]
for cand in candidates:
bg = os.path.join(certs_dir, cand)
if os.path.isfile(bg):
return bg
return None
background_type_names = {
BackgroundType.standard: "standardní",
......@@ -217,18 +232,11 @@ class CertMaker:
elif bgt == BackgroundType.blank:
return None
bg = bgt.name
candidates = [
f'{self.round.round_code()}/bg-{bg}.pdf',
f'bg-{bg}.pdf',
]
for cand in candidates:
bg = os.path.join(self.certs_dir, cand)
if os.path.isfile(bg):
bg = bgt.find_default_background(self.round)
if bg is not None:
return bg
raise RuntimeError("Nemohu najít standardní pozadí (kandidáti: " + " ".join(candidates) + ")")
else:
raise RuntimeError("Nemohu najít standardní pozadí")
def make_certs(self, cert_type: db.CertType) -> None:
certs = [cert for cert in self.certs if cert.type == cert_type]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment