Skip to content

Commit 7df3677

Browse files
committed
Dynamic materials dropdown menu + static materials links feature
1 parent 1054506 commit 7df3677

9 files changed

Lines changed: 26 additions & 30 deletions

File tree

cities/brno/city.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,6 @@ newsletter:
1717
o chystaných akcích, kurzech a workshopech v Brně. Vše na jednom místě, bez spamu. Přihlaš
1818
se k odběru.
1919
input-name: b_d18802c49f8d98ac411c260b7_b569c163bb
20+
static-materials:
21+
- name: Linuxová administrace
22+
url: https://naucse.python.cz/2020/linux-admin/

cities/hradec/city.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ contacts:
44
Napiš organizátorce:
55
icon: coach
66
url: mailto:brabcova.ivana@gmail.com
7+
static-materials: []

cities/olomouc/city.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ contacts:
77
Napiš koučovi:
88
icon: coach
99
url: mailto:filip.valder@gmail.com
10+
static-materials: []

cities/olomouc/meetups.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Pozor, nové meetupy se přidávají na konec souboru
2-
- name: PyLadies Olomouc <br> začátečnický kurz
2+
- name: Začátečnický kurz <br> Leden 2020
33
materials: https://naucse.python.cz/2020/pyladies-olomouc-jaro/
44
registration:
55
url: https://forms.gle/74qRf346E7YRT1Kr5
@@ -11,7 +11,7 @@
1111
address: Holečkova 10, 779 00 Olomouc
1212
url: https://goo.gl/maps/iHKueXfExciQ1tZ9A
1313

14-
- name: PyLadies Olomouc <br> začátečnický kurz
14+
- name: Začátečnický kurz <br> Září 2020
1515
registration:
1616
url: https://forms.gle/g4eUFfF3x79c2Axd8
1717
end: 2020-08-16

cities/ostrava/city.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@ contacts:
1010
Napiš organizátorům:
1111
icon: coach
1212
url: mailto:ostrava@pyladies.cz
13+
static-materials: []

cities/plzen/city.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ contacts:
77
Napiš koučovi:
88
icon: coach
99
url: mailto:plzen@pyladies.cz
10+
static-materials: []

cities/praha/city.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,6 @@ contacts:
1313
Napiš organizátorkám:
1414
icon: coach
1515
url: mailto:praha@pyladies.cz
16+
static-materials:
17+
- name: Datový kurz
18+
url: https://naucse.python.cz/2020/pydata-praha-jaro/

pyladies_cz.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,15 +142,26 @@ def google_verification():
142142
@app.context_processor
143143
def inject_cities():
144144
cities = {}
145+
materials = list()
145146
for city_name, city_info in get_cities().items():
146147
meetups = read_meetups_yaml(f'cities/{city_name}/meetups.yml')
148+
current_meetups = [m for m in meetups if m['current']]
149+
past_meetups = [m for m in meetups if not m['current']][:3]
150+
recent_meetups = current_meetups + past_meetups
151+
materials.extend((city_info['title'] + ' / ' + m['name'], m['materials'])
152+
for m in recent_meetups
153+
if 'materials' in m)
154+
if 'static-materials' in city_info:
155+
materials.extend((city_info['title'] + ' / ' + m['name'], m['url'])
156+
for m in city_info['static-materials'])
147157
meetups_nonpermanent = [m for m in meetups if m.get('start')]
148158
cities[city_name] = {
149159
**city_info,
150160
'active_registration': any(m.get('registration_status') == 'running'
151161
for m in meetups_nonpermanent),
152162
}
153-
return dict(cities=cities)
163+
return dict(cities=cities,
164+
materials=materials)
154165

155166

156167
##########

templates/layout.html

Lines changed: 2 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -67,35 +67,10 @@
6767
<li class="materials-dropdown">
6868
<a>Materiály<span class="caret"></span></a>
6969
<ul>
70-
{% for name, url in (
71-
('Brno – začátečnický kurz (pondělí)',
72-
'https://naucse.python.cz/2020/brno-jaro-pondeli/'),
73-
('Brno – začátečnický kurz (úterý)',
74-
'https://naucse.python.cz/2020/brno-jaro-2020-ut/'),
75-
('Brno – Linuxová administrace',
76-
'https://naucse.python.cz/2020/linux-admin/'),
77-
('Praha – začátečnický kurz (Olšanka)',
78-
'https://naucse.python.cz/2020/pyladies-praha-jaro-cznic/'),
79-
('Praha – začátečnický kurz (Barclays)',
80-
'https://naucse.python.cz/2020/pyladies-praha-jaro2020-barclays/'),
81-
('Praha – Datový kurz',
82-
'https://naucse.python.cz/2020/pydata-praha-jaro/'),
83-
('Ostrava – začátečnický kurz',
84-
'https://naucse.python.cz/2020/pyladies-ostrava-jaro/'),
85-
('Ostrava – kurz datové analýzy',
86-
'https://naucse.python.cz/2020/pydata-ostrava-jaro/'),
87-
('Plzeň – začátečnický kurz',
88-
'https://naucse.python.cz/2020/plzen-jaro-2020/'),
89-
('Hradec Králové – začátečnický kurz',
90-
'https://naucse.python.cz/2020/pyladies-hradec-leden/'),
91-
('Olomouc – začátečnický kurz',
92-
'https://naucse.python.cz/2020/pyladies-olomouc-jaro/'),
93-
('Chci se učit doma sama',
94-
'https://naucse.python.cz/course/pyladies/'),
95-
) %}
70+
{% for name, url in materials + [('Chci se učit doma sama', 'https://naucse.python.cz/course/pyladies/')] %}
9671
<li>
9772
<a href="{{ url }}">
98-
{{ name }}
73+
{{ name|striptags }}
9974
<small><span class="glyphicon"></span></small>
10075
</a>
10176
</li>

0 commit comments

Comments
 (0)