comparison python/metadata.py @ 972:b50145235f9e

bug corrected
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Wed, 13 Dec 2017 14:48:48 -0500
parents 9897a13772fb
children 75601be6019f
comparison
equal deleted inserted replaced
971:9897a13772fb 972:b50145235f9e
367 eg somedirectory/montreal/ contains intersection1, intersection2, etc. 367 eg somedirectory/montreal/ contains intersection1, intersection2, etc.
368 The site names would be somedirectory/montreal/intersection1, somedirectory/montreal/intersection2, etc. 368 The site names would be somedirectory/montreal/intersection1, somedirectory/montreal/intersection2, etc.
369 The views should be directories in somedirectory/montreal/intersection1''' 369 The views should be directories in somedirectory/montreal/intersection1'''
370 sites = [] 370 sites = []
371 cameraViews = [] 371 cameraViews = []
372 names = listdir(directoryName) 372 names = sorted(listdir(directoryName))
373 for name in names: 373 for name in names:
374 if path.isdir(directoryName+sep+name): 374 if path.isdir(directoryName+sep+name):
375 sites.append(Site(directoryName+sep+name, None)) 375 sites.append(Site(directoryName+sep+name, None))
376 for cameraViewIdx in range(1, nViewsPerSite+1): 376 for cameraViewIdx in range(1, nViewsPerSite+1):
377 cameraViews.append(CameraView('view{}'.format(cameraViewIdx), None, sites[-1], None, None, None)) 377 cameraViews.append(CameraView('view{}'.format(cameraViewIdx), None, sites[-1], None, None, None))
380 session.commit() 380 session.commit()
381 381
382 def initializeVideos(session, cameraView, directoryName, startTime = None, datetimeFormat = None): 382 def initializeVideos(session, cameraView, directoryName, startTime = None, datetimeFormat = None):
383 '''Initializes videos with time or tries to guess it from filename 383 '''Initializes videos with time or tries to guess it from filename
384 directoryName should contain the videos to find and be the relative path from the site location''' 384 directoryName should contain the videos to find and be the relative path from the site location'''
385 names = listdir(directoryName) 385 names = sorted(listdir(directoryName))
386 videoSequences = [] 386 videoSequences = []
387 if datetimeFormat is not None: 387 if datetimeFormat is not None:
388 timeConverter = TimeConverter(datetimeFormat) 388 timeConverter = TimeConverter(datetimeFormat)
389 for name in names: 389 for name in names:
390 prefix = removeExtension(name) 390 prefix = removeExtension(name)
391 extension = getExtension(name) 391 extension = getExtension(name)
392 if extension in videoFilenameExtensions: 392 if extension in videoFilenameExtensions:
393 if datetimeFormat is not None: 393 if datetimeFormat is not None:
394 from argparse import ArgumentTypeError 394 from argparse import ArgumentTypeError
395 try: 395 try:
396 prefix = name[:name.rfind('_')] 396 t1 = timeConverter.convert(name[:name.rfind('_')])
397 t1 = timeConverter.convert(prefix)
398 print('DB time {} / Time from filename {}'.format(startTime, t1)) 397 print('DB time {} / Time from filename {}'.format(startTime, t1))
399 except ArgumentTypeError as e: 398 except ArgumentTypeError as e:
400 print('File format error for time {} (prefix {})'.format(name, prefix)) 399 print('File format error for time {} (prefix {})'.format(name, prefix))
401 vidinfo = infoVideo(directoryName+sep+name) 400 vidinfo = infoVideo(directoryName+sep+name)
402 duration = vidinfo['number of frames']#timedelta(minutes = 27, seconds = 33) 401 duration = vidinfo['number of frames']#timedelta(minutes = 27, seconds = 33)