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