-class Engine:
- def __init__(self, clean = False):
- logger.info("Predictops engine launched")
- if clean:
- self.clean()
- print("Ne pas oublier d'exporter la BDD dans pgModeler")
- print("Ni de copier l'archive dans la data")
-
- def clean(self):
- # Cleaning the data directory
- logger.info("Cleaning and restoring data directory")
- directory = Path.cwd() / 'data'
- if directory.is_dir():
- rmtree(directory)
- p = Path(Path.cwd() / 'data')
- p.mkdir()
-
- # Cleaning the postgresql database
- config = ConfigParser()
- config.read((Path.cwd() / 'config') / 'main.cfg')
-
- host = config['postgresql']['host']
- user = config['postgresql']['user']
- port = config['postgresql']['port']
- dbname = config['postgresql']['dbname']
-
- logger.info("PostgreSQL database deletion")
- command = ['dropdb', '-h', host, '-U', user, '-p', port, dbname]
- process = Popen(command, stdout=PIPE, stderr=PIPE)
- process.communicate()
-
- logger.info("PostgreSQL database creation")
- command = ['createdb', '-h', host, '-U', user, '-p', port, dbname]
- process = Popen(command, stdout=PIPE, stderr=PIPE)
- process.communicate()
-
- def add_meteofrance(self):
- self.meteofrance = MeteoFrance()