Files
hudozka/utils/Sync/sync.py
T
2016-11-23 02:10:26 +03:00

47 lines
1.8 KiB
Python

import settings
from db import db, collection
from sync.album import sync_albums
from sync.data.fs import FSProvider
from sync.data.yandexdisk import YDProvider
from sync.document import sync_documents
from sync.page import sync_pages
from sync.person import sync_persons
from sync.post import sync_posts
from sync.schedule import sync_schedules
from utils.fn import lprint_json
from utils.image import thumbnail
def get_provider(provider_type, root):
if provider_type == 'fs':
return FSProvider(root)
elif provider_type == 'yd':
return YDProvider(root, settings.yandex_disk_access_token)
return None
def main(provider, fn, collection_name):
if provider:
print('SYNC: %s' % (collection_name.upper()))
u, d = fn(provider, collection(collection_name), update=settings.do_update, delete=settings.do_update)
print('DELETE %s: %s' % (collection_name.upper(), 'NO' if not settings.do_delete else str(len(d))))
lprint_json(d)
print('UPDATE %s: %s' % (collection_name.upper(), 'NO' if not settings.do_update else str(len(u))))
lprint_json(u)
print('')
if __name__ == '__main__':
io = lambda root: get_provider(settings.sync_provider_type, root)
# main(io(settings.dir_documents), sync_documents, settings.collection_documents)
# main(io(settings.dir_schedules), sync_schedules, settings.collection_schedules)
# main(io(settings.dir_events), sync_posts, settings.collection_events)
# main(io(settings.dir_news), sync_posts, settings.collection_news)
# main(io(settings.dir_collective), sync_persons, settings.collection_collective)
# main(io(settings.dir_gallery), sync_albums, settings.collection_albums)
main(io(settings.dir_pages), sync_pages, settings.collection_pages)