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?