[Sync] + Model::get_param, + Model::_get_relpath, + Model.params

This commit is contained in:
Roman Timashev committed 2017-09-15 12:20:21 +03:00
1 parent a8ba0a60eb
commit a4a17db943
1 file changed
+13 -1
+13 -1
View File
@@ -11,7 +11,7 @@ def find(store, item_id: str):
class Model:
def __init__(self, provider, store, file):
def __init__(self, provider, store, file, params=None):
super().__init__()
self.provider = provider
@@ -21,6 +21,7 @@ class Model:
self.id = None
self.url = None
self.hash = None
self.params = params if params else {}
self.init()
@@ -37,6 +38,13 @@ class Model:
i = find(self.store, self.id)
return self._is_changed_hash(i)
def get_param(self, name, default_value=None):
if not self.params:
return default_value
if not (name in self.params):
return default_value
return self.params[name]
def _is_changed_hash(self, item):
if not item:
return True
@@ -49,6 +57,10 @@ class Model:
def _filename(self):
return os.path.basename(self.file)
def _get_relpath(self, path):
folder = self.get_param('folder', self.file)
return os.path.join(folder, path)
async def save(self):
document = self.bake()