[sync] fix sync order to prevent records deletion

This commit is contained in:
tmshv committed 2019-10-17 18:49:16 +03:00
1 parent 0f85b77d14
commit 2601b8a54f
1 file changed
+9 -7
+9 -7
View File
@@ -92,6 +92,14 @@ class Sync:
items = await self.model.scan(self.provider)
self.logger.info('Found {} Item(s)'.format(len(items)))
all_items = items
if self.validate_urls:
self.check_urls_uniqueness(all_items)
# SKIP UNTOUCHED DOCUMENTS
if self.skip_unchanged:
items = await untouched(all_items)
# Optionally trim list of models by custom filter
items = [
@@ -100,12 +108,6 @@ class Sync:
if self.filter_item_fn(x)
]
if self.validate_urls:
self.check_urls_uniqueness(items)
# SKIP UNTOUCHED DOCUMENTS
if self.skip_unchanged:
items = await untouched(items)
self.logger.info(f'Ready to process {len(items)} item(s)')
# BUILDING
@@ -121,7 +123,7 @@ class Sync:
# DELETING
if self.delete_enabled:
obsolete_items = await self.model.find(self.__items_to_delete_query(items))
obsolete_items = await self.model.find(self.__items_to_delete_query(all_items))
obsolete_items = list(obsolete_items)
for item in obsolete_items: