mirror of
https://github.com/gsi-upm/senpy
synced 2025-09-17 20:12:22 +00:00
Add an option to force the load of shelf plugins
Closes gsi-upm/senpy#34
This commit is contained in:
@@ -237,7 +237,10 @@ class BaseModel(SenpyMixin, dict):
|
||||
self.__setitem__(self._get_key(key), value)
|
||||
|
||||
def __delattr__(self, key):
|
||||
self.__delitem__(self._get_key(key))
|
||||
try:
|
||||
object.__delattr__(self, key)
|
||||
except AttributeError:
|
||||
self.__delitem__(self._get_key(key))
|
||||
|
||||
def _plain_dict(self):
|
||||
d = {k: v for (k, v) in self.items() if k[0] != "_"}
|
||||
|
@@ -98,8 +98,10 @@ class ShelfMixin(object):
|
||||
if os.path.isfile(self.shelf_file):
|
||||
try:
|
||||
self.__dict__['_sh'] = pickle.load(open(self.shelf_file, 'rb'))
|
||||
except EOFError:
|
||||
logger.warning('corrupted shelf file!')
|
||||
except (EOFError, pickle.UnpicklingError):
|
||||
logger.warning('{} has a corrupted shelf file!'.format(self.id))
|
||||
if not self.get('force_shelf', False):
|
||||
raise
|
||||
return self._sh
|
||||
|
||||
@sh.deleter
|
||||
|
Reference in New Issue
Block a user