add holiday parsing
This commit is contained in:
parent
77c8328714
commit
ed90ed0234
2 changed files with 30 additions and 0 deletions
0
my/calendar/__init__.py
Normal file
0
my/calendar/__init__.py
Normal file
30
my/calendar/holidays.py
Normal file
30
my/calendar/holidays.py
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
import re
|
||||||
|
from typing import Tuple, Iterator
|
||||||
|
from datetime import date, datetime
|
||||||
|
|
||||||
|
|
||||||
|
from my_configuration.holidays_data import HOLIDAYS_DATA
|
||||||
|
|
||||||
|
|
||||||
|
def iter_data() -> Iterator[Tuple[date, int]]:
|
||||||
|
emitted = 0
|
||||||
|
for x in HOLIDAYS_DATA.splitlines():
|
||||||
|
m = re.search(r'(\d\d/\d\d/\d\d\d\d)(.*)-(\d+.\d+) days \d+.\d+ days', x)
|
||||||
|
if m is None:
|
||||||
|
continue
|
||||||
|
(ds, cmnt, dayss) = m.groups()
|
||||||
|
if 'carry over' in cmnt:
|
||||||
|
continue
|
||||||
|
|
||||||
|
d = datetime.strptime(ds, '%d/%m/%Y').date()
|
||||||
|
dd, u = dayss.split('.')
|
||||||
|
assert u == '00' # TODO meh
|
||||||
|
|
||||||
|
yield d, int(dd)
|
||||||
|
emitted += 1
|
||||||
|
assert emitted > 5
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
for d in iter_data():
|
||||||
|
print(d)
|
Loading…
Add table
Reference in a new issue