Mercurial Hosting > traffic-intelligence
comparison python/metadata.py @ 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 | 343cfd185ca6 |
comparison
equal
deleted
inserted
replaced
425:a31dde19caa8 | 426:334e1151828b |
---|---|
1 # from moving import Point | 1 # from moving import Point |
2 | 2 |
3 from datetime import datetime | 3 from datetime import datetime |
4 from os import path | 4 from os import path |
5 | 5 |
6 from sqlalchemy import Column, Integer, Float, DateTime, String, ForeignKey | 6 from sqlalchemy import create_engine, Column, Integer, Float, DateTime, String, ForeignKey |
7 from sqlalchemy.orm import relationship, backref | 7 from sqlalchemy.orm import relationship, backref, sessionmaker |
8 from sqlalchemy.ext.declarative import declarative_base | 8 from sqlalchemy.ext.declarative import declarative_base |
9 | 9 |
10 from utils import datetimeFormat | 10 from utils import datetimeFormat |
11 | 11 |
12 Base = declarative_base() | 12 Base = declarative_base() |
114 | 114 |
115 # class Analysis(Base): # parameters necessary for processing the data: free form | 115 # class Analysis(Base): # parameters necessary for processing the data: free form |
116 # eg bounding box depends on camera view, tracking configuration depends on camera view | 116 # eg bounding box depends on camera view, tracking configuration depends on camera view |
117 # results: sqlite | 117 # results: sqlite |
118 | 118 |
119 def createDatabases(engine): | 119 def createDatabase(filename): |
120 'creates a session to query the filename' | |
121 engine = create_engine('sqlite:///'+filename) | |
120 Base.metadata.create_all(engine) | 122 Base.metadata.create_all(engine) |
123 Session = sessionmaker(bind=engine) | |
124 return Session() | |
121 | 125 |
122 def connectDatabaser(filename): | 126 def connectDatabase(filename): |
123 'creates a session to query the filename' | 127 'creates a session to query the filename' |
124 engine = create_engine('sqlite:///'+filename) | 128 engine = create_engine('sqlite:///'+filename) |
125 Session = sessionmaker(bind=engine) | 129 Session = sessionmaker(bind=engine) |
126 return Session() | 130 return Session() |
131 | |
132 def initializeSites(session, directoryName): | |
133 '''Initializes default site objects and Camera Views | |
134 | |
135 eg somedirectory/montreal/ contains intersection1, intersection2, etc. | |
136 The site names would be somedirectory/montreal/intersection1, somedirectory/montreal/intersection2, etc.''' | |
137 from os import listdir, path | |
138 sites = [] | |
139 cameraViews = [] | |
140 names = listdir(directoryName) | |
141 for name in names: | |
142 if path.isdir(directoryName+'/'+name): | |
143 sites.append(Site(directoryName+'/'+name, None)) | |
144 cameraViews.append(CameraView(-1, None, None, sites[-1], None)) | |
145 session.add_all(sites) | |
146 session.add_all(cameraViews) | |
147 session.commit() | |
148 # TODO crawler for video files? |