mirror of
https://github.com/chibicitiberiu/ytsm.git
synced 2024-02-24 05:43:31 +00:00
46 lines
1.8 KiB
Python
46 lines
1.8 KiB
Python
from YtManagerApp.models import *
|
|
import logging
|
|
|
|
|
|
def synchronize():
|
|
logger = logging.getLogger('sync')
|
|
|
|
logger.info("Running scheduled synchronization... ")
|
|
|
|
# Sync subscribed playlists/channels
|
|
yt_api = YoutubeAPI.build_public()
|
|
for subscription in Subscription.objects.all():
|
|
SubscriptionManager.__synchronize(subscription, yt_api)
|
|
|
|
# Fetch thumbnails
|
|
logger.info("Fetching channel thumbnails... ")
|
|
for ch in Channel.objects.filter(icon_default__istartswith='http'):
|
|
ch.icon_default = SubscriptionManager.__fetch_thumbnail(ch.icon_default, 'channel', ch.channel_id, 'default')
|
|
ch.save()
|
|
|
|
for ch in Channel.objects.filter(icon_best__istartswith='http'):
|
|
ch.icon_best = SubscriptionManager.__fetch_thumbnail(ch.icon_best, 'channel', ch.channel_id, 'best')
|
|
ch.save()
|
|
|
|
logger.info("Fetching subscription thumbnails... ")
|
|
for sub in Subscription.objects.filter(icon_default__istartswith='http'):
|
|
sub.icon_default = SubscriptionManager.__fetch_thumbnail(sub.icon_default, 'sub', sub.playlist_id, 'default')
|
|
sub.save()
|
|
|
|
for sub in Subscription.objects.filter(icon_best__istartswith='http'):
|
|
sub.icon_best = SubscriptionManager.__fetch_thumbnail(sub.icon_best, 'sub', sub.playlist_id, 'best')
|
|
sub.save()
|
|
|
|
logger.info("Fetching video thumbnails... ")
|
|
for vid in Video.objects.filter(icon_default__istartswith='http'):
|
|
vid.icon_default = SubscriptionManager.__fetch_thumbnail(vid.icon_default, 'video', vid.video_id, 'default')
|
|
vid.save()
|
|
|
|
for vid in Video.objects.filter(icon_best__istartswith='http'):
|
|
vid.icon_best = SubscriptionManager.__fetch_thumbnail(vid.icon_best, 'video', vid.video_id, 'best')
|
|
vid.save()
|
|
|
|
print("Downloading videos...")
|
|
Downloader.download_all()
|
|
|
|
print("Synchronization finished.") |