From ae315d27f6106ad3046ebe25ee2b9974fe1898f0 Mon Sep 17 00:00:00 2001
From: Martin Mares <mj@ucw.cz>
Date: Sun, 9 Feb 2025 11:14:10 +0100
Subject: [PATCH] =?UTF-8?q?Diplomy:=20Zobecn=C4=9Bno=20hled=C3=A1n=C3=AD?=
 =?UTF-8?q?=20standardn=C3=ADho=20pozad=C3=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 mo/jobs/certs.py | 32 ++++++++++++++++++++------------
 1 file changed, 20 insertions(+), 12 deletions(-)

diff --git a/mo/jobs/certs.py b/mo/jobs/certs.py
index 53c77c51..a6d90a73 100644
--- a/mo/jobs/certs.py
+++ b/mo/jobs/certs.py
@@ -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):
-                return bg
-
-        raise RuntimeError("Nemohu najít standardní pozadí (kandidáti: " + " ".join(candidates) + ")")
+        bg = bgt.find_default_background(self.round)
+        if bg is not None:
+            return bg
+        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]
-- 
GitLab