[Sync] run options refactoring
This commit is contained in:
1 parent
d8716b71e2
commit
fd126998bd
3 files changed
+16
-17
No files matched your search
@@ -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
@@ -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:
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
Reference in new issue
Block a user