X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/predictops.git/blobdiff_plain/1aa2671e4f047322d6957a58a7b44a568b25d67d..20a117b07643f7b3ef305d1e7a6f62f05e33698e:/predictops/source/ephemeris.py?ds=sidebyside diff --git a/predictops/source/ephemeris.py b/predictops/source/ephemeris.py index 33c0f2d..2a34364 100644 --- a/predictops/source/ephemeris.py +++ b/predictops/source/ephemeris.py @@ -1,21 +1,53 @@ +from .source import Source + +from configparser import ConfigParser +from csv import DictReader from datetime import datetime, timedelta +from pathlib import Path + import time import calendar +CSV_FILE = Path.cwd() / 'config' / 'features' / 'ephemeris_features.csv' + class Ephemeris: - def __init__(self, start = time.strptime('19960101000000', '%Y%m%d%H%M%S'), - end = datetime.now(), features = []): - self._start = start - self._end = end - self._features = features + _start = None + _end = None + + def __init__(self, config_file): + + # Check for the integrity of feature names + Source.__init__(self) + + self._config = ConfigParser() + self._config.read(config_file) + + # Collecting ephemeris features + with open(CSV_FILE, "r") as f: + reader = DictReader(f, delimiter=',') + self._features = [row['name'] for row in reader + if self._config['FEATURES'].getboolean(row['name'])] self._dated_features = {} + @property + def start(self): + return self._start + + @start.setter + def start(self, x): + self._start = x + + + @property + def end(self): + return self._end - def update(self): - pass + @end.setter + def end(self, x): + self._end = x