diff --git a/bitsundbaeume-treffen.txt b/bitsundbaeume-treffen.txt index 3dd6536d71d500b78f5c24d764b0642d23f177dd..63338838a0dc1ffa203327523dc26d0fc21058c5 100644 --- a/bitsundbaeume-treffen.txt +++ b/bitsundbaeume-treffen.txt @@ -1,8 +1,8 @@ --- layout: [eventcal] -title: "Bits und Bäume Lübeck - Treffen" -eventdate: <EVENTSTART> -eventend: <EVENTEND> +title: "Bits und Bäume Lübeck - Treffen" +eventdate: <EVENTSTART> +eventend: <EVENTEND> #https://www.uuidgenerator.net/ uid: <UUID> contact: yksflip@chaotikum.org diff --git a/eventgenutils.py b/eventgenutils.py index 8eecc2e3080e642d3e0b049e7c134cdf8a81b61a..cef9eddf2ff3d9af40fc5910e1f0a121870231b0 100644 --- a/eventgenutils.py +++ b/eventgenutils.py @@ -60,10 +60,26 @@ def is_equal_month(_date_candidate): return False +def is_january(_date_candidate): + return _date_candidate.month == 1 + +def is_march(_date_candidate): + return _date_candidate.month == 3 + +def is_june(_date_candidate): + return _date_candidate.month == 6 + +def is_september(_date_candidate): + return _date_candidate.month == 9 + def is_november(_date_candidate): return _date_candidate.month == 11 +def is_december(_date_candidate): + return _date_candidate.month == 12 + + def replace_date_in_template(_template, _tag, _date): return _template.replace(_tag, _date.strftime("%Y-%m-%d %H:%M:%S %z")) @@ -91,11 +107,11 @@ def modify_template(_template, _start, _end): return _template -def create_event(_name, _date, _start_h, _start_m, _end_h, end_m, add_days=0): +def create_event(_name, _date, start_hour=00, start_minute=00, end_hour=23, end_minute=59, add_days=0): with open(_name + ".txt") as f: _template = f.read() - _start = cet.localize(_date.replace(hour=_start_h, minute=_start_m, second=00)) - _end = cet.localize(_date.replace(hour=_end_h, minute=end_m, second=00)) + _start = cet.localize(_date.replace(hour=start_hour, minute=start_minute, second=00)) + _end = cet.localize(_date.replace(hour=end_hour, minute=end_minute, second=00)) _end += datetime.timedelta(days=add_days) _template = modify_template(_template, _start, _end) diff --git a/main.py b/main.py index e9b75d9413448d769a43dc87b46c44e60e6df009..1d4879825beeedb77f94f4c82437a384a725fa79 100644 --- a/main.py +++ b/main.py @@ -1,33 +1,39 @@ import datetime import eventgenutils as utils +################################################# +# set true if you want to generate files for that event type +################################################# OPENSPACE = True # every wednesday 19:00 to 23:59:59 but not between (and including) 24.12 and 1.1 -REINIGUNG = False +REINIGUNG = True # wednesday from 09:00 to 18:00 -PLENUM = False +PLENUM = True # second thursday of the month, except in november, where it is the third -OSM = False +OSM = True # vierter donnerstag in ungeraden monaten -BITSUNDBAEUME = False -# jeden zweiten Dienstag im Monat um 18:31 +BITSUNDBAEUME = True +# jeden zweiten Dienstag im Monat um 18:31... ich vermute mal nicht im Januar? FFHLORGA = True # jeden dritten Donnerstag im Monat 19:00 bis 22:00 Uhr NOOK = True -# zweiter freitag im November (und der darauf folgende Samsatag) +# zweiter freitag im November (und der darauf folgende Samstag) FUENF_MIN_TERMINE = True # üblicherweise am vierten Mittwoch im letzten monat des quartals außer dezember (also März, Juni, September) # März wird ggf geschoben, wenn Ostern/Easterhegg dazwischen kommt... +################################################# +# Year to create events for +################################################# YEAR = 2024 # Change to generate for another year def is_open_space(_date_candidate): _md = _date_candidate.day _mo = _date_candidate.month - if _mo == 1 and _md == 1: + if utils.is_january(_date_candidate) and _md == 1: return False - if _mo == 12 and _md > 23: + if utils.is_december(_date_candidate) and _md > 23: return False if not utils.is_wednesday(_date_candidate): return False @@ -43,7 +49,7 @@ def is_plenum(_date_candidate): def is_reinigung(_date_candidate): - if utils.isWednesday(_date_candidate): + if utils.is_wednesday(_date_candidate): return True return False @@ -55,7 +61,7 @@ def is_osm(_date_candidate): def is_bits_und_baeume(_date_candidate): - if utils.is_nth_tuesday_of_month(_date_candidate, 1): + if not utils.is_january(_date_candidate) and utils.is_nth_tuesday_of_month(_date_candidate, 1): return True return False @@ -72,43 +78,42 @@ def is_nook(_date_candidate): def is_fuenf_min(_date_candidate): - _mo = _date_candidate.month - if _mo == 3 or _mo == 6 or _mo == 9: + if utils.is_march(_date_candidate) or utils.is_june(_date_candidate) or utils.is_september(_date_candidate): if utils.is_nth_wednesday_of_month(_date_candidate, 4): return True return False def create_open_space(_date): - utils.create_event("openspace", _date, 19, 00, 23, 59) + utils.create_event("openspace", _date, start_hour=19) def create_plenum(_date): - utils.create_event("plenum", _date, 19, 00, 20, 00) + utils.create_event("plenum", _date, start_hour=19, end_hour=20, end_minute=00) def create_reinigung(_date): - utils.create_event("reinigung", _date, 9, 00, 18, 00) + utils.create_event("reinigung", _date, start_hour=9, end_hour=18, end_minute=00) def create_osm(_date): - utils.create_event("osm", _date, 19, 00, 22, 00) + utils.create_event("osm", _date, start_hour=19, end_hour=22, end_minute=00) def create_bits_und_baeume(_date): - utils.create_event("bitsundbaeume-treffen", _date, 18, 31, 22, 00) + utils.create_event("bitsundbaeume-treffen", _date, start_hour=18, start_minute=31, end_hour=22, end_minute=00) def create_ffhl(_date): - utils.create_event("ffhl-orga", _date, 18, 00, 22, 00) + utils.create_event("ffhl-orga", _date, start_hour=18, end_hour=22, end_minute=00) def create_nook(_date): - utils.create_event("nook", _date, 17, 00, 22, 59, add_days=1) + utils.create_event("nook", _date, start_hour=17, end_hour=22, add_days=1) def create_fuenf_min(_date): - utils.create_event("5min", _date, 20, 00, 21, 59) + utils.create_event("5min", _date, start_hour=20, end_hour=21) date_to_check = datetime.datetime.strptime(str(YEAR) + "-01-01", utils.date_format)