def main(argv=sys.argv):
    import logging

    logging.basicConfig(level=logging.DEBUG)
    # if len(argv) != 2:
    #     usage(argv)
    # config_uri = argv[1]
    # setup_logging(config_uri)
    # settings = get_appsettings(config_uri)
    # engine = engine_from_config(settings, 'sqlalchemy.')
    logging.debug("Initialise Engine")
    engine = sqlalchemy.create_engine(DBFILE, echo=False)
    
    meta.Session.configure(bind=engine)
    Base.metadata.bind = engine
    Base.metadata.create_all(engine)
    


    DBSession = meta.Session()
    #DBSession.configure(bind=engine)
    logging.debug("Populating Data")
    populateData.init_data(DBSession)
    #populateUser()
    logging.debug("Populated")
    DBSession.flush()
    #DBSession.commit()


    #We also want any alembic scripts to be executed (or not if we build the DB
    #properly)
    alembic_cfg = Config("cogent/alembic.ini") #TODO: WARNING RELATIVE PATH
    command.stamp(alembic_cfg,"head")

    DBSession.close()
Beispiel #2
0
def main(argv=sys.argv):
    import logging

    logging.basicConfig(level=logging.DEBUG)
    # if len(argv) != 2:
    #     usage(argv)
    # config_uri = argv[1]
    # setup_logging(config_uri)
    # settings = get_appsettings(config_uri)
    # engine = engine_from_config(settings, 'sqlalchemy.')
    logging.debug("Initialise Engine")
    engine = sqlalchemy.create_engine(DBFILE, echo=False)

    meta.Session.configure(bind=engine)
    Base.metadata.bind = engine
    Base.metadata.create_all(engine)

    DBSession = meta.Session()
    #DBSession.configure(bind=engine)
    logging.debug("Populating Data")
    populateData.init_data(DBSession)
    #populateUser()
    logging.debug("Populated")
    DBSession.flush()
    #DBSession.commit()

    #We also want any alembic scripts to be executed (or not if we build the DB
    #properly)
    alembic_cfg = Config("cogent/alembic.ini")  #TODO: WARNING RELATIVE PATH
    command.stamp(alembic_cfg, "head")

    DBSession.close()
Beispiel #3
0
    def __init__(self, sampleRate=60, usbPort=None):
        """Initialise plogg collection object

        :var sampleRate: Sample Rate in Seconds
        :var usbPort: Serial port to connect to
        """
        self.log = logging.getLogger("PloggCollector")
        log = self.log

        #And Format the Log output a little nicer
        ch = logging.StreamHandler()

        formatter = logging.Formatter(
            '%(asctime)s - %(name)s - %(levelname)s - %(message)s')
        ch.setFormatter(formatter)

        log.addHandler(ch)

        log.debug("initialising Plogg Data Gatherer")

        log.debug("SampleRate")
        self.sampleRate = sampleRate

        self.nodeMap = {}

        #Attempt to connect to the Dongle
        self.connect(usbPort)

        #Then we can sort out the database
        engine = sqlalchemy.create_engine(DB_STRING)
        #Create Models and Populate any Missing Base Data
        models.initialise_sql(engine)
        populateData.init_data()

        #Scan for Ploggs
        #ploggList = self.ploggScan()
        #self.ploggList = ploggList
        self.ploggList = []
    def __init__(self,sampleRate = 60,usbPort = None):
        """Initialise plogg collection object

        :var sampleRate: Sample Rate in Seconds
        :var usbPort: Serial port to connect to
        """
        self.log = logging.getLogger("PloggCollector")
        log = self.log

        #And Format the Log output a little nicer
        ch = logging.StreamHandler()
        
        formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
        ch.setFormatter(formatter)

        log.addHandler(ch)

        log.debug("initialising Plogg Data Gatherer")

        log.debug("SampleRate")
        self.sampleRate = sampleRate

        self.nodeMap = {}

        #Attempt to connect to the Dongle
        self.connect(usbPort)
        
        #Then we can sort out the database
        engine = sqlalchemy.create_engine(DB_STRING)
        #Create Models and Populate any Missing Base Data
        models.initialise_sql(engine)
        populateData.init_data()      

        #Scan for Ploggs
        #ploggList = self.ploggScan()
        #self.ploggList = ploggList
        self.ploggList = []
Beispiel #5
0
def main(dburl="sqlite:///pushtest.db"):
    # if len(argv) != 2:
    #     usage(argv)
    # config_uri = argv[1]
    # setup_logging(config_uri)
    # settings = get_appsettings(config_uri)
    # engine = engine_from_config(settings, 'sqlalchemy.')
    # meta.Session.configure(bind=engine)
    # Base.metadata.bind = engine

    # #As its a testing database
    # #Base.metadata.drop_all()
    # try:
    #     transaction.commit()
    # except sqlalchemy.exc.OperationalError:
    #     print "No database exists"



    # Base.metadata.create_all(engine)

    # #We also want any alembic scripts to be executed
    # alembic_cfg = Config("alembic.ini") #TODO: WARNING RELATIVE PATH
    # command.stamp(alembic_cfg,"head")

    # DBSession = meta.Session()
    # #DBSession.configure(bind=engine)

    import time

    print "Creating Database for {0}".format(dburl)
    t1 = time.time()

    engine = sqlalchemy.create_engine(dburl)
    connection = engine.connect()
    print "--> Time to create Engine {0}".format(time.time() - t1)

    #try:
    #    connection.execute("delete from nodestate")
    #    connection.execute("delete from reading")
    #except:
    #    print "Error deleting existing tables"


    #transaction.commit()
    print "Initialising SQL"

    #Create a connection to the database
    Base.metadata.bind = engine
    Base.metadata.drop_all(engine)
    Base.metadata.create_all(engine)


    #Relevant Jenkins stuff
    #Readings
    # connection.execute("DELETE FROM Reading")
    # connection.execute("DELETE FROM NodeState")
    # #Sensors and Node
    # connection.execute("DELETE FROM Sensor")
    # connection.execute("DELETE FROM SensorType")
    # connection.execute("DELETE FROM Node")
    # #Room Information
    # connection.execute("DELETE FROM Room")
    # connection.execute("DELETE FROM RoomType")


    # #Houses and Deployments
    # connection.execute("DELETE FROM House")
    # connection.execute("DELETE FROM Deployment")

    #Finally Locations
    #connection.execute("DELETE FROM Location")

    print "--> Time to Drop {0}".format(time.time() - t1)

    print "--> Time Create {0}".format(time.time() - t1)
    # #Start the transaction
    # #trans = connection.begin()
    populateData.init_data(docalib=False)
    print "--> Time to Init {0}".format(time.time() - t1)
    populatedata()
    print "--> Time to Populate {0}".format(time.time() - t1)
    populate_readings()