diff --git a/utils/Sync/sync.py b/utils/Sync/sync.py index 72b89cdb..84bca2c8 100644 --- a/utils/Sync/sync.py +++ b/utils/Sync/sync.py @@ -50,6 +50,7 @@ async def run(run_interval=0): provider=io(settings.provider_root), sizes=settings.image_sizes, ) + sync_documents.strict_origin = True sync_pages = Sync( provider=io(settings.provider_root), diff --git a/utils/Sync/sync/models/Document.py b/utils/Sync/sync/models/Document.py index 144b52d2..3aa245f9 100644 --- a/utils/Sync/sync/models/Document.py +++ b/utils/Sync/sync/models/Document.py @@ -82,6 +82,7 @@ class Document(Model): self.__set_id() self.__set_url() self.__set_hash() + self._set_origin() filename = os.path.basename(self.file) self.file_name = filename @@ -129,6 +130,7 @@ class Document(Model): 'url': self.url, 'type': self.type, 'title': self.title, + 'origin': self.origin, 'preview': self.preview.ref, 'fileInfo': { 'name': self.file_name, diff --git a/utils/Sync/sync/models/__init__.py b/utils/Sync/sync/models/__init__.py index 35aa1cad..dd072762 100644 --- a/utils/Sync/sync/models/__init__.py +++ b/utils/Sync/sync/models/__init__.py @@ -1,5 +1,7 @@ import os +import settings + def find(store, item_id: str): q = {'id': item_id} @@ -18,6 +20,7 @@ class Model: self.store = store self.file = file + self.origin = None self.id = None self.url = None self.hash = None @@ -54,6 +57,9 @@ class Model: return default_value return self.params[name] + def _set_origin(self): + self.origin = f'{settings.origin}:{os.path.dirname(self.file)}' + def _is_changed_hash(self, item): if not item: return True