[Sync] added url checking

This commit is contained in:
Roman Timashev committed 2017-10-27 14:58:27 +03:00
1 parent df8299a851
commit e18a780f56
2 files changed
+17

No files matched your search

+5
View File
@@ -61,26 +61,31 @@ async def run(run_interval=0):
provider=io(settings.provider_root),
model=Person,
)
sync_persons.validate_urls = False
sync_articles = Sync(
provider=io(settings.provider_root),
model=Article,
)
sync_articles.validate_urls = False
sync_schedules = Sync(
provider=io(settings.provider_root),
model=Schedule,
)
sync_schedules.validate_urls = False
sync_albums = Sync(
provider=io(settings.provider_root),
model=Album,
)
sync_albums.validate_urls = False
sync_settings = Sync(
provider=io(settings.provider_root),
model=Settings,
)
sync_settings.validate_urls = False
sync_images = Sync(
provider=io(settings.provider_root),
+12
View File
@@ -16,6 +16,7 @@ class Sync:
def __init__(self, provider: Provider, model):
super().__init__()
self.validate_urls = True
self.strict_origin = False
self.__default_build_args = {
'sizes': settings.image_sizes,
@@ -74,6 +75,9 @@ class Sync:
items = await self.model.scan(self.provider)
self.logger.info('Found {} Item(s)'.format(len(items)))
if self.validate_urls:
self.check_urls_uniqueness(items)
# SKIP UNTOUCHED DOCUMENTS
changed_items = await untouched(items)
self.logger.info('Changed {} Items(s)'.format(len(changed_items)))
@@ -95,5 +99,13 @@ class Sync:
await self.clean()
def check_urls_uniqueness(self, items):
urls = [x.url for x in items]
unique_urls = set(urls)
if len(urls) != len(unique_urls):
self.logger.error('URLs is not unique')
raise Exception('URLs is not unique')
async def upload(self):
pass