X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/predictops.git/blobdiff_plain/b1216db088f3ab2d18dec528332c1e2be3dee78e..a3cc2abef295b99990b24b1c822319c80a59ffe2:/main.py?ds=sidebyside diff --git a/main.py b/main.py index 9ccb687..a6a8d74 100644 --- a/main.py +++ b/main.py @@ -1,21 +1,22 @@ -from lib.source import MeteoFrance +from lib.source.ephemeris import Ephemeris +from lib.source.meteofrance import MeteoFrance +from datetime import datetime from logging import getLogger from logging.config import fileConfig from pathlib import Path from shutil import rmtree - fileConfig((Path.cwd() / 'config') / 'logging.cfg') logger = getLogger() class Engine: - def __init__(self, clean = False): + def __init__(self, start = None, end = None, time_step = None): logger.info("Predictops engine launched") - if clean: - self.clean() - print("To prevent from downloading again csv files, copy the archive in data rep") + self._X = {} + self._Y = {} + def clean(self): # Cleaning the data directory @@ -27,12 +28,44 @@ class Engine: p.mkdir() - def add_meteofrance(self): - self.meteofrance = MeteoFrance() + def add_feature(self, name, **kw): + + if name == 'meteofrance': + meteofeature = MeteoFrance(**kw) + meteofeature.update() + dated_features = meteofeature.dated_features + for date in dated_features: + self._X.setdefault(date,{}).update(dated_features[date]) + elif name == 'ephemeris': + ephemerides = Ephemeris(**kw) + dated_features = ephemerides.dated_features + for date in dated_features: + self._X.setdefault(date,{}).update(dated_features[date]) + + + @property + def X(self): + return self._X + + @X.setter + def X(self, x): + self._X = x + + +start = datetime.strptime('01/01/2010 00:00:00', '%m/%d/%Y %H:%M:%S') +end = datetime.strptime('12/31/2010 23:00:00', '%m/%d/%Y %H:%M:%S') + +engine = Engine() +engine.add_feature(name = 'meteofrance', + start = start, end = end, + latitude = 47.25, longitude = 6.0333, nb_stations = 3, + features = ['temperature', 'pressure']) + +engine.add_feature(name = 'ephemeris', + start = start, end = end, + features = ['hour', 'dayInWeek', 'dayInMonth', 'dayInYear', + 'weekInYear', 'month', 'year']) -engine = Engine(clean = False) -engine.add_meteofrance() -engine.meteofrance.update() -print(len(engine.meteofrance.dated_features)) \ No newline at end of file +print(engine.X[datetime.strptime('06/30/2010 21:00:00', '%m/%d/%Y %H:%M:%S')]) \ No newline at end of file