Ejemplo n.º 1
0
 def setUp(self):
     fd, self.filename = tempfile.mkstemp()
     os.close(fd)
     self.sqluri = 'sqlite:///%s' % self.filename
     self.db = Database(database=self.sqluri)
     self._today = datetime.date.today()
     self._last_week = self._today - datetime.timedelta(weeks=1)
     self._yesterday = self._today - datetime.timedelta(days=1)
Ejemplo n.º 2
0
def extract(config,
            start_date,
            end_date,
            sequence=None,
            batch_size=None,
            force=False,
            purge_only=False,
            retries=3):
    """Reads the configuration file and does the job.
    """
    defaults = {'here': os.path.abspath(os.path.dirname(config))}
    parser = ConfigParser(defaults=defaults)
    parser.read(config)

    try:
        batch_size = parser.get('monolith', 'batch_size')
    except NoOptionError:
        # using the default value
        if batch_size is None:
            batch_size = 100

    # creating the sequence
    sequence = Sequence(parser, sequence)

    # load the database
    try:
        monolith_db = parser.get('monolith', 'database')
    except NoOptionError:  # pragma: no cover
        # BBB support old history config name
        try:
            monolith_db = parser.get('monolith', 'history')
        except NoOptionError:
            raise ValueError("You need a database option")

    database = Database(database=monolith_db)

    # run the engine
    engine = Engine(sequence,
                    database,
                    batch_size=batch_size,
                    force=force,
                    retries=retries)
    return engine.run(start_date, end_date, purge_only)