Exemplo n.º 1
0
# options.py
# class for wrapping options for esa_master_downloader script
# Author: Hal DiMarchi

from . import log
import json
import os

from importlib.machinery import SourceFileLoader as load
options = load("share.options", "../shared/options.py").load_module()


class Options(options.Main_Options):
    def __init__(self, downloader_path):
        self.name = "esa_master_downloader"
        self.config_path = os.path.abspath(
            os.path.join(downloader_path, "config"))
        self.config_file = os.path.join(self.config_path, self.name + '.cfg')

        super().get_config()
        self.get_options()

    def get_options(self):
        self.esa_data_db = self.db_connection_string('esa_data')
        self.get_granule_from_esa_data = self.config.get('sql', 'get_granule')
        self.update_downloaded_for_esa_data = self.config.get(
            'sql', 'download')
        self.max_processes = int(
            self.config.get('multiprocessing', 'max_processes'))
        self.wait_period = int(self.config.get('general', 'wait_period'))
        self.run = int(self.config.get('general', 'run'))
Exemplo n.º 2
0
# sql.py
# class for connecting with esa_data
# Author: Hal DiMarchi

from . import log

try:
    import psycopg2
except ImportError:
    import psycopg2cffi as psycopg2

from importlib.machinery import SourceFileLoader as load
sql = load("share.options", "../shared/sql.py").load_module()


class Esa_Data_Sql(sql.Sql):
    def __init__(self, options):
        super().__init__(options)
        self.get_connections()

    def get_connections(self):
        try:
            self.esa_data_db_connection = psycopg2.connect(self.options.esa_data_db)
            self.esa_data_db_connection.autocommit = True
        except Exception as e:
            log.error(str(e))
            self.options.set_running('0')
            raise e

    def close_connections(self):
        self.esa_data_db_connection.close()