changeset 813:ef8795dba5ed

avoid crash for missing configuration filename
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Fri, 10 Jun 2016 17:46:54 -0400
parents 21f10332c72b
children 0ae57c76f19c daa992ac6b44
files python/storage.py
diffstat 1 files changed, 7 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/python/storage.py	Fri Jun 10 17:07:36 2016 -0400
+++ b/python/storage.py	Fri Jun 10 17:46:54 2016 -0400
@@ -5,6 +5,7 @@
 import utils, moving, events, indicators, shutil
 from base import VideoFilenameAddable
 
+from os import path
 import sqlite3, logging
 from numpy import log, min as npmin, max as npmax, round as npround, array, sum as npsum, loadtxt
 from pandas import read_csv, merge
@@ -1134,7 +1135,6 @@
     'Class for the parameters of object classifiers'
     def loadConfigFile(self, filename):
         from ConfigParser import ConfigParser
-        from os import path
 
         config = ConfigParser()
         config.readfp(FakeSecHead(openCheck(filename)))
@@ -1166,8 +1166,10 @@
         self.stdVehicleSpeed = config.getfloat(self.sectionHeader, 'std-veh-speed')
 
     def __init__(self, filename = None):
-        if filename is not None:
+        if filename is not None and path.exists(filename):
             self.loadConfigFile(filename)
+        else:
+            print('Configuration filename {} could not be loaded.'.format(filename))
 
     def convertToFrames(self, frameRate, speedRatio = 3.6):
         '''Converts parameters with a relationship to time in 'native' frame time
@@ -1198,7 +1200,6 @@
 
     def loadConfigFile(self, filename):
         from ConfigParser import ConfigParser
-        from os import path
 
         config = ConfigParser()
         config.readfp(FakeSecHead(openCheck(filename)))
@@ -1240,8 +1241,10 @@
         self.useFeaturesForPrediction = config.getboolean(self.sectionHeader, 'use-features-prediction')
 
     def __init__(self, filename = None):
-        if filename is not None:
+        if filename is not None and path.exists(filename):
             self.loadConfigFile(filename)
+        else:
+            print('Configuration filename {} could not be loaded.'.format(filename))
 
 class SceneParameters(object):
     def __init__(self, config, sectionName):