From fd126998bdd4fdbc714d5cf1c30b1c36d33c328e Mon Sep 17 00:00:00 2001 From: Roman Timashev Date: Mon, 5 Aug 2019 18:54:13 +0300 Subject: [PATCH] [Sync] run options refactoring --- utils/Sync/settings.py | 3 --- utils/Sync/sync.py | 20 ++++++++++---------- utils/Sync/sync/core/__init__.py | 10 ++++++---- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/utils/Sync/settings.py b/utils/Sync/settings.py index 3777cd31..8e90a321 100644 --- a/utils/Sync/settings.py +++ b/utils/Sync/settings.py @@ -136,9 +136,6 @@ image_url_base = 'https://art.shlisselburg.org/static/images/' yandex_disk_access_token = value('yandex_disk_access_token') # env('YANDEX_DISK_ACCESS_TOKEN') -update_enabled = value('update_enabled') -delete_enabled = value('delete_enabled') - auth_s3 = { 'region_name': 'ams3', 'endpoint_url': 'https://dir.ams3.digitaloceanspaces.com', diff --git a/utils/Sync/sync.py b/utils/Sync/sync.py index 67ed4843..ee8e0022 100644 --- a/utils/Sync/sync.py +++ b/utils/Sync/sync.py @@ -39,8 +39,8 @@ def init_logger(name: str, file: str): logger.addHandler(ch) -async def run_sync(sync: Sync): - await sync.run() +async def run_sync(sync: Sync, **kwargs): + await sync.run(**kwargs) async def run(run_interval=0): @@ -96,14 +96,14 @@ async def run(run_interval=0): while True: await asyncio.wait([ - run_sync(sync_documents), - run_sync(sync_pages), - run_sync(sync_persons), - run_sync(sync_articles), - run_sync(sync_schedules), - run_sync(sync_albums), - run_sync(sync_settings), - run_sync(sync_images), + run_sync(sync_documents, skip_changed=False, update=True, remove=True), + run_sync(sync_pages, skip_changed=False, update=True, remove=True), + run_sync(sync_persons, skip_changed=False, update=True, remove=True), + run_sync(sync_articles, skip_changed=False, update=True, remove=True), + run_sync(sync_schedules, skip_changed=False, update=True, remove=True), + run_sync(sync_albums, skip_changed=False, update=True, remove=True), + run_sync(sync_settings, skip_changed=False, update=True, remove=True), + run_sync(sync_images, skip_changed=False, update=True, remove=True), ]) if run_interval == 0: diff --git a/utils/Sync/sync/core/__init__.py b/utils/Sync/sync/core/__init__.py index 34123478..8e41e7d6 100644 --- a/utils/Sync/sync/core/__init__.py +++ b/utils/Sync/sync/core/__init__.py @@ -59,7 +59,7 @@ class Sync: return query - async def run(self): + async def run(self, skip_changed=False, update=True, remove=True): """ # Get scope files # Validate these files. Raise an error @@ -79,17 +79,19 @@ class Sync: self.check_urls_uniqueness(items) # SKIP UNTOUCHED DOCUMENTS - changed_items = await untouched(items) + changed_items = items + if not skip_changed: + changed_items = await untouched(items) self.logger.info('Changed {} Items(s)'.format(len(changed_items))) # UPDATING - if settings.update_enabled: + if update: for item in changed_items: await self.update(item) self.logger.info('Updated Item {}'.format(item)) # DELETING - if settings.delete_enabled: + if remove: obsolete_items = await self.model.find(self.__items_to_delete_query(items)) obsolete_items = list(obsolete_items)