]> AND Private Git Repository - predictops.git/blobdiff - predictops/source/ephemeris.py
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
Reducing the computation time and adding holidays features
[predictops.git] / predictops / source / ephemeris.py
index d0e4ca06cb14a5a9ec18e17ce626a83498434647..e1c07ecfe604de8012715c25a773c2a66fed7bb7 100644 (file)
@@ -1,12 +1,14 @@
 from configparser import ConfigParser
-from csv import DictReader
 from datetime import datetime, timedelta
+from logging import getLogger
+from logging.config import fileConfig
 from pathlib import Path
 
 import time
 import calendar
 
-CSV_FILE = Path.cwd() / 'config' / 'features' / 'ephemeris_features.csv'
+fileConfig((Path.cwd() / 'config') / 'logging.cfg')
+logger = getLogger()
 
 class Ephemeris:
 
@@ -15,17 +17,13 @@ class Ephemeris:
 
     def __init__(self, config_file):
 
-        # Check for the integrity of feature names
-        super(Source, self).__init__()
-
         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._features = [section for section in self._config
+                              if self._config[section].getboolean('numerical')
+                              or self._config[section].getboolean('categorical')]
 
         self._dated_features = {}
 
@@ -48,10 +46,10 @@ class Ephemeris:
         self._end = x
 
 
-
     @property
     def dated_features(self):
         if self._dated_features == {}:
+            logger.info("Adding ephemeris features")
             date = self._start
             while date <= self._end:
                 dict_hour = {}