Skip to content
Snippets Groups Projects

Sazba diplomů

Compare and Show latest version
5 files
+ 24
16
Compare changes
  • Side-by-side
  • Inline

Files

+ 12
7
@@ -94,6 +94,7 @@ class Cert:
user: db.User
school: db.Place
type: db.CertType
tex_macro: str
achievement: str
sort_key: Any
page_number: int = -1
@@ -172,31 +173,35 @@ class CertMaker:
user = pion.user
row = score_rows_by_user_id.get(user.user_id)
def add_cert(type: db.CertType, achievement: str, sort_key: Any) -> None:
def add_cert(type: db.CertType, tex_macro: str, achievement: str, sort_key: Any) -> None:
self.certs.append(Cert(
user=user,
school=pant.school_place,
type=type,
tex_macro=tex_macro,
achievement=achievement,
sort_key=sort_key,
))
# Účastnický list
add_cert(db.CertType.participation, 'za účast', user.sort_key())
add_cert(db.CertType.participation, 'CertParticipation', 'za účast', user.sort_key())
# Diplom úspěšného řešitele
# Diplom vítěze / úspěšného řešitele
if row is not None:
order = row.get('order')
if row['successful'] and order is not None:
if order is not None:
if order['span'] == 1:
place = f"{order['place']}."
else:
place = f"{order['place']}.–{order['place'] + order['span'] - 1}."
add_cert(db.CertType.successful, f'za {place} místo', (order['place'], user.sort_key()))
if row['winner']:
add_cert(db.CertType.successful, 'CertWinner', f'za {place} místo', (order['place'], user.sort_key()))
elif row['successful']:
add_cert(db.CertType.successful, 'CertSuccessful', f'za {place} místo', (order['place'], user.sort_key()))
# Pochvalné uznání
if row is not None and row.get('honorary_mention', False):
add_cert(db.CertType.honorary_mention, 'za úplné vyřešení úlohy', user.sort_key())
add_cert(db.CertType.honorary_mention, 'CertHonoraryMention', 'za úplné vyřešení úlohy', user.sort_key())
def prepare_files(self) -> None:
if b := self._find_background():
@@ -278,7 +283,7 @@ class CertMaker:
'qrurl': qr_url,
'qrimg': os.path.basename(qr_file),
})
f.write('\\Cert' + cert.type.name.replace('_', '').title() + '\n')
f.write('\\' + cert.tex_macro + '\n')
f.write('}\n')
cert.page_number = i + 1
Loading