changeset 970:bf401567a933

work on initializing videos for metadata
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Thu, 07 Dec 2017 23:31:54 -0500
parents 5d788d2e8ffc
children 9897a13772fb
files python/metadata.py
diffstat 1 files changed, 11 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/python/metadata.py	Thu Dec 07 17:03:09 2017 -0500
+++ b/python/metadata.py	Thu Dec 07 23:31:54 2017 -0500
@@ -9,7 +9,7 @@
 from sqlalchemy.ext.declarative import declarative_base
 
 from utils import datetimeFormat, removeExtension, getExtension
-from cvutils import computeUndistortMaps, videoFilenameExtensions
+from cvutils import computeUndistortMaps, videoFilenameExtensions, infoVideo
 from moving import TimeInterval
 
 """
@@ -377,14 +377,20 @@
     session.commit()
 # TODO crawler for video files?
 
-def initializeVideos(session, site, cameraView, directoryName, startTime = None, datetimeFormat = None):
+def initializeVideos(session, cameraView, directoryName, startTime = None, datetimeFormat = None):
     '''Initializes videos with time or tries to guess it from filename
     directoryName should contain the videos to find and be the relative path from the site location'''
     names = listdir(directoryName)
     videoSequences = []
     for name in names:
+        prefix = removeExtension(name)
         extension = getExtension(name)
-        print(name, extension)
         if extension in videoFilenameExtensions:
-            videoSequences.append(VideoSequence(directoryName+sep+name, startTime, None, cameraView, directoryName+sep+'.sqlite'))
-    return videoSequences
+            vidinfo = infoVideo(directoryName+sep+name)
+            duration = vidinfo['number of frames']#timedelta(minutes = 27, seconds = 33)
+            fps = vidinfo['fps']
+            duration = timedelta(seconds=duration/fps)
+            videoSequences.append(VideoSequence(directoryName+sep+name, startTime, duration, cameraView, directoryName+sep+prefix+'.sqlite'))
+            startTime += duration
+    session.add_all(videoSequences)
+    session.commit()