[Sync] run options refactoring

This commit is contained in:
tmshv committed 2019-08-05 18:54:13 +03:00
1 parent d8716b71e2
commit fd126998bd
3 files changed
+16 -17

No files matched your search

-3
View File
@@ -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',
+10 -10
View File
@@ -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:
+6 -4
View File
@@ -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)