Beispiel #1
0
 def __init__(self, target_date):
     self.start_time = datetime.combine(target_date, time(hour=3))
     self.end_time = self.start_time + timedelta(days=1)
     self.db_session = get_db_session()
     self.log = get_log('AlertEvaluator')
     self.schedule_adherence_api = cfg.get('Evaluator',
                                           'schedule_adherence_api')
     self.api_key = cfg.get('Evaluator', 'api_key')
 def __init__(self):
     # Load the length of time (seconds) to wait between scans
     self.scan_frequency_sec = cfg.getint("Archiver", "scan_frequency_sec")
     # How often (every n scans) should we clear the known-alerts set
     self.cull_frequency = cfg.getint("Archiver", "cull_frequency")
     # How many cycles until the next cull?
     self.next_cull = self.cull_frequency
     # Record each version of published alerts we've seen,
     # as a set of (alert_id, last_modified_dt)
     self.known_id_lastmodified_pairs = set()
     self.alerts_params = {
         'api_key': cfg.get("API", "v2_api_key"),
         'include_access_alerts': cfg.get("Archiver",
                                          "include_access_alerts"),
         'include_service_alerts': cfg.get("Archiver",
                                           "include_service_alerts"),
         'format': 'json'
     }
     self.alerts_url = cfg.get("API", "alerts_url")
Beispiel #3
0
def init_db():
    from mbtaalerts.database.models import Base
    if ENGINE is None:
        setup_engine(cfg.get('Database', 'database_url'))
    Base.metadata.create_all(bind=ENGINE)
Beispiel #4
0
def get_db_session():
    if ENGINE is None:
        setup_engine(cfg.get('Database', 'database_url'))
    session = sessionmaker(autocommit=False, autoflush=False, bind=ENGINE)
    return scoped_session(session)
Beispiel #5
0
import logging
from mbtaalerts.config import config as cfg

logging.basicConfig(format=cfg.get('Logging', 'format'),
                    datefmt=cfg.get('Logging', 'datefmt'),
                    level=cfg.get('Logging', 'level'))

def get_log(name):
    return logging.getLogger(name)
Beispiel #6
0
import os

from sqlalchemy import create_engine, Column, Integer, MetaData
from sqlalchemy.orm import scoped_session, sessionmaker
from sqlalchemy.ext.declarative import as_declarative, declared_attr

from mbtaalerts.config import config as cfg

ENGINE = create_engine(cfg.get('Database', 'database_url'))
DB_SESSION = scoped_session(
    sessionmaker(autocommit=False, autoflush=False, bind=ENGINE))


@as_declarative()
class Base(object):
    query = DB_SESSION.query_property()
    id = Column(Integer, primary_key=True, autoincrement=True)

    @declared_attr
    def __tablename__(cls):
        return cls.__name__.lower()


def init_db():
    import mbtaalerts.database.models
    Base.metadata.create_all(bind=ENGINE)