Mercurial > hg > nsaunier > traffic-intelligence
comparison python/metadata.py @ 1004:75601be6019f
work on process
| author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
|---|---|
| date | Sun, 03 Jun 2018 00:21:18 -0400 |
| parents | b50145235f9e |
| children |
comparison
equal
deleted
inserted
replaced
| 1003:75af46516b2b | 1004:75601be6019f |
|---|---|
| 348 'creates a session to query the filename' | 348 'creates a session to query the filename' |
| 349 engine = create_engine('sqlite:///'+filename) | 349 engine = create_engine('sqlite:///'+filename) |
| 350 Session = sessionmaker(bind=engine) | 350 Session = sessionmaker(bind=engine) |
| 351 return Session() | 351 return Session() |
| 352 | 352 |
| 353 def getSite(session, siteId): | 353 def getSite(session, siteId = None, name = None, description = None): |
| 354 'Returns the site(s) matching the index or the name' | 354 'Returns the site(s) matching the index or the name' |
| 355 if str.isdigit(siteId): | 355 if siteId is not None: |
| 356 return session.query(Site).filter(Site.idx == int(siteId)).all() | 356 return session.query(Site).filter(Site.idx == int(siteId)).all() |
| 357 elif name is not None: | |
| 358 return session.query(Site).filter(Site.description.like('%'+name+'%')).all() | |
| 359 elif description is not None: | |
| 360 return session.query(Site).filter(Site.description.like('%'+description+'%')).all() | |
| 357 else: | 361 else: |
| 358 return session.query(Site).filter(Site.description.like('%'+siteId+'%')).all() | 362 print('No siteId, name or description have been provided to the function') |
| 363 return [] | |
| 359 | 364 |
| 360 def getCameraView(session, viewId): | 365 def getCameraView(session, viewId): |
| 361 'Returns the site(s) matching the index' | 366 'Returns the site(s) matching the index' |
| 362 return session.query(CameraView).filter(CameraView.idx == int(viewId)).first() | 367 return session.query(CameraView).filter(CameraView.idx == int(viewId)).first() |
| 363 | 368 |
| 403 duration = timedelta(seconds=duration/fps) | 408 duration = timedelta(seconds=duration/fps) |
| 404 videoSequences.append(VideoSequence(directoryName+sep+name, startTime, duration, cameraView, directoryName+sep+prefix+'.sqlite')) | 409 videoSequences.append(VideoSequence(directoryName+sep+name, startTime, duration, cameraView, directoryName+sep+prefix+'.sqlite')) |
| 405 startTime += duration | 410 startTime += duration |
| 406 session.add_all(videoSequences) | 411 session.add_all(videoSequences) |
| 407 session.commit() | 412 session.commit() |
| 413 | |
| 414 # management | |
| 415 # TODO need to be able to copy everything from a site from one sqlite to another, and delete everything attached to a site |
