From f887b567293c90857c8a04cafbde3a02cc0e95dd Mon Sep 17 00:00:00 2001 From: jbannon Date: Wed, 30 Mar 2022 22:20:37 +0000 Subject: [PATCH] begin cleaning subscription --- ytdl_subscribe/parse.py | 24 +++++++++++++++++++- ytdl_subscribe/subscriptions/subscription.py | 24 -------------------- 2 files changed, 23 insertions(+), 25 deletions(-) diff --git a/ytdl_subscribe/parse.py b/ytdl_subscribe/parse.py index ff337158..98eef50d 100644 --- a/ytdl_subscribe/parse.py +++ b/ytdl_subscribe/parse.py @@ -3,8 +3,11 @@ from typing import Optional import yaml from mergedeep import mergedeep +from ytdl_subscribe.enums import SubscriptionSource from ytdl_subscribe.enums import YAMLSection +from ytdl_subscribe.subscriptions.soundcloud import SoundcloudSubscription from ytdl_subscribe.subscriptions.subscription import Subscription +from ytdl_subscribe.subscriptions.youtube import YoutubeSubscription 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: preset = presets[subscription["preset"]] 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 if subscriptions: diff --git a/ytdl_subscribe/subscriptions/subscription.py b/ytdl_subscribe/subscriptions/subscription.py index 4996e0ba..b19a752f 100644 --- a/ytdl_subscribe/subscriptions/subscription.py +++ b/ytdl_subscribe/subscriptions/subscription.py @@ -8,7 +8,6 @@ from PIL import Image from sanitize_filename import sanitize from ytdl_subscribe.entries.entry import Entry -from ytdl_subscribe.enums import SubscriptionSource class Subscription(object): @@ -140,26 +139,3 @@ class Subscription(object): if "nfo" in self.post_process: 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"], - )