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
|
||||
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:
|
||||
|
|
|
|||
|
|
@ -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"],
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in a new issue