Mercurial Hosting > traffic-intelligence
changeset 426:334e1151828b
corrected creation and connection to database + helper function to generate sites and camera views
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Thu, 31 Oct 2013 16:59:34 -0400 |
parents | a31dde19caa8 |
children | 70accfa6692f |
files | python/metadata.py |
diffstat | 1 files changed, 26 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/python/metadata.py Thu Oct 31 15:39:09 2013 -0400 +++ b/python/metadata.py Thu Oct 31 16:59:34 2013 -0400 @@ -3,8 +3,8 @@ from datetime import datetime from os import path -from sqlalchemy import Column, Integer, Float, DateTime, String, ForeignKey -from sqlalchemy.orm import relationship, backref +from sqlalchemy import create_engine, Column, Integer, Float, DateTime, String, ForeignKey +from sqlalchemy.orm import relationship, backref, sessionmaker from sqlalchemy.ext.declarative import declarative_base from utils import datetimeFormat @@ -116,11 +116,33 @@ # eg bounding box depends on camera view, tracking configuration depends on camera view # results: sqlite -def createDatabases(engine): +def createDatabase(filename): + 'creates a session to query the filename' + engine = create_engine('sqlite:///'+filename) Base.metadata.create_all(engine) + Session = sessionmaker(bind=engine) + return Session() -def connectDatabaser(filename): +def connectDatabase(filename): 'creates a session to query the filename' engine = create_engine('sqlite:///'+filename) Session = sessionmaker(bind=engine) return Session() + +def initializeSites(session, directoryName): + '''Initializes default site objects and Camera Views + + eg somedirectory/montreal/ contains intersection1, intersection2, etc. + The site names would be somedirectory/montreal/intersection1, somedirectory/montreal/intersection2, etc.''' + from os import listdir, path + sites = [] + cameraViews = [] + names = listdir(directoryName) + for name in names: + if path.isdir(directoryName+'/'+name): + sites.append(Site(directoryName+'/'+name, None)) + cameraViews.append(CameraView(-1, None, None, sites[-1], None)) + session.add_all(sites) + session.add_all(cameraViews) + session.commit() +# TODO crawler for video files?