Use config file instead of multiple options

This commit is contained in:
Cyril Novel 2020-06-11 21:27:15 +02:00
commit 8d5f00a896
3 changed files with 100 additions and 44 deletions

View file

@ -1,14 +1,10 @@
from datetime import date
from src.person import Person
from src.mariage import Mariage
from os.path import abspath, join, dirname
event_types = ['N', 'M', 'D']
members_file = abspath(join(dirname(__file__), 'data', 'members.csv'))
mariages_file = abspath(join(dirname(__file__), 'data', 'mariages.csv'))
class Event:
def __init__(self, event_type: str, event_date: date, current_date: date,
@ -61,7 +57,7 @@ class Event:
return self._type
def load_persons_to_dict() -> dict:
def load_persons_to_dict(members_file: str) -> dict:
id_to_person = {}
first_line = True
with open(members_file, 'r', encoding='utf-8') as members:
@ -85,7 +81,7 @@ def load_persons_to_dict() -> dict:
return id_to_person
def load_mariage_to_dict() -> dict:
def load_mariage_to_dict(mariages_file: str) -> dict:
id_to_mariage = {}
first_line = True
with open(mariages_file, 'r', encoding='utf-8') as mariages:
@ -125,9 +121,9 @@ def find_significant_other(id_to_mariage: dict, uid: int) -> int:
return -1
def create_events_from_span(start: date, end: date) -> list:
id_to_person = load_persons_to_dict()
id_to_mariage = load_mariage_to_dict()
def create_events_from_span(start: date, end: date, members_file: str, mariages_file: str) -> list:
id_to_person = load_persons_to_dict(members_file)
id_to_mariage = load_mariage_to_dict(mariages_file)
cur_year = start.year
events = []