begin cleaning subscription
This commit is contained in:
parent
43cc4cd4c7
commit
f887b56729
2 changed files with 23 additions and 25 deletions
|
|
@ -3,8 +3,11 @@ from typing import Optional
|
||||||
import yaml
|
import yaml
|
||||||
from mergedeep import mergedeep
|
from mergedeep import mergedeep
|
||||||
|
|
||||||
|
from ytdl_subscribe.enums import SubscriptionSource
|
||||||
from ytdl_subscribe.enums import YAMLSection
|
from ytdl_subscribe.enums import YAMLSection
|
||||||
|
from ytdl_subscribe.subscriptions.soundcloud import SoundcloudSubscription
|
||||||
from ytdl_subscribe.subscriptions.subscription import Subscription
|
from ytdl_subscribe.subscriptions.subscription import Subscription
|
||||||
|
from ytdl_subscribe.subscriptions.youtube import YoutubeSubscription
|
||||||
|
|
||||||
|
|
||||||
def _set_config_variables(config):
|
def _set_config_variables(config):
|
||||||
|
|
@ -80,7 +83,26 @@ def parse_subscriptions(yaml_dict: dict, presets: dict, subscriptions: Optional[
|
||||||
if subscription.get("preset") in presets:
|
if subscription.get("preset") in presets:
|
||||||
preset = presets[subscription["preset"]]
|
preset = presets[subscription["preset"]]
|
||||||
subscription = mergedeep.merge({}, preset, subscription)
|
subscription = mergedeep.merge({}, preset, subscription)
|
||||||
parsed_subscriptions.append(Subscription.from_dict(name, subscription))
|
|
||||||
|
if SubscriptionSource.SOUNDCLOUD in subscription:
|
||||||
|
subscription_source = SubscriptionSource.SOUNDCLOUD
|
||||||
|
subscription_class = SoundcloudSubscription
|
||||||
|
elif SubscriptionSource.YOUTUBE in subscription:
|
||||||
|
subscription_source = SubscriptionSource.YOUTUBE
|
||||||
|
subscription_class = YoutubeSubscription
|
||||||
|
else:
|
||||||
|
raise ValueError("dne")
|
||||||
|
|
||||||
|
parsed_subscriptions.append(
|
||||||
|
subscription_class(
|
||||||
|
name=name,
|
||||||
|
options=subscription[subscription_source],
|
||||||
|
ytdl_opts=subscription["ytdl_opts"],
|
||||||
|
post_process=subscription["post_process"],
|
||||||
|
overrides=subscription["overrides"],
|
||||||
|
output_path=subscription["output_path"],
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
# Filter subscriptions if present
|
# Filter subscriptions if present
|
||||||
if subscriptions:
|
if subscriptions:
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@ from PIL import Image
|
||||||
from sanitize_filename import sanitize
|
from sanitize_filename import sanitize
|
||||||
|
|
||||||
from ytdl_subscribe.entries.entry import Entry
|
from ytdl_subscribe.entries.entry import Entry
|
||||||
from ytdl_subscribe.enums import SubscriptionSource
|
|
||||||
|
|
||||||
|
|
||||||
class Subscription(object):
|
class Subscription(object):
|
||||||
|
|
@ -140,26 +139,3 @@ class Subscription(object):
|
||||||
|
|
||||||
if "nfo" in self.post_process:
|
if "nfo" in self.post_process:
|
||||||
self._post_process_nfo(entry)
|
self._post_process_nfo(entry)
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, name, d):
|
|
||||||
# TODO: Make sure there is only one source, verify url
|
|
||||||
if SubscriptionSource.SOUNDCLOUD in d:
|
|
||||||
from ytdl_subscribe.subscriptions.soundcloud import SoundcloudSubscription
|
|
||||||
|
|
||||||
dclass = SoundcloudSubscription
|
|
||||||
elif SubscriptionSource.YOUTUBE in d:
|
|
||||||
from ytdl_subscribe.subscriptions.youtube import YoutubeSubscription
|
|
||||||
|
|
||||||
dclass = YoutubeSubscription
|
|
||||||
else:
|
|
||||||
raise ValueError("dne")
|
|
||||||
|
|
||||||
return dclass(
|
|
||||||
name=name,
|
|
||||||
options=d[dclass.source],
|
|
||||||
ytdl_opts=d["ytdl_opts"],
|
|
||||||
post_process=d["post_process"],
|
|
||||||
overrides=d["overrides"],
|
|
||||||
output_path=d["output_path"],
|
|
||||||
)
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue