|
@@ -10,14 +10,17 @@ class Storage:
|
|
self.storage_dir = storage_dir
|
|
self.storage_dir = storage_dir
|
|
|
|
|
|
self.logger.debug('Using storage at \'{0}\''.format(storage_dir))
|
|
self.logger.debug('Using storage at \'{0}\''.format(storage_dir))
|
|
- self.storage_file = open(os.path.join(storage_dir, 'storage.dat'), 'rwb')
|
|
|
|
- self.logger.debug('storage_file = ' + str(self.storage_file))
|
|
|
|
|
|
+ self.storage_file = open(os.path.join(storage_dir, 'storage.dat'), 'a+b')
|
|
try:
|
|
try:
|
|
|
|
+ self.storage_file.seek(0, os.SEEK_SET)
|
|
self.data = pickle.load(self.storage_file)
|
|
self.data = pickle.load(self.storage_file)
|
|
except EOFError:
|
|
except EOFError:
|
|
- self.logger.info('The storage file was empty, I can handle this.')
|
|
|
|
|
|
+ self.logger.warn('The storage file was empty. I\'ll assume this is the first start with this storage directory.')
|
|
except Exception as err:
|
|
except Exception as err:
|
|
- self.logger.error('Loading the storage failed. Please resolve the error and/or remove the storage file \'{0}\': {1}'.format(self.storage_file, str(err)))
|
|
|
|
|
|
+ self.logger.error('Loading the storage failed. Please resolve the error and/or remove the storage file \'{0}\': {1}'.format(
|
|
|
|
+ os.path.join(storage_dir, self.storage_file.name),
|
|
|
|
+ str(err),
|
|
|
|
+ ))
|
|
raise err
|
|
raise err
|
|
if self.data is None: self.data = {}
|
|
if self.data is None: self.data = {}
|
|
self.logger.info('Opened storage with ' + str(len(self.data)) + ' entries.')
|
|
self.logger.info('Opened storage with ' + str(len(self.data)) + ' entries.')
|