setup cfg

This commit is contained in:
jbannon 2022-04-26 07:19:53 +00:00
parent bbf99947be
commit 2db2c88441
55 changed files with 177 additions and 162 deletions

View file

@ -1,7 +0,0 @@
argparse==1.4.0
dicttoxml==1.7.4
mergedeep==1.3.4
music-tag==0.4.3
Pillow==9.1.0
PyYAML==6.0
yt-dlp==2022.4.8

View file

@ -1,8 +0,0 @@
-r requirements.txt
black==22.3.0
coverage==6.3.2
isort==5.10.1
pylint==2.13.5
pytest==7.1.1
sphinx==4.5.0
sphinx-rtd-theme==1.0.0

36
setup.cfg Normal file
View file

@ -0,0 +1,36 @@
[metadata]
name = ytdl-sub
version = attr:ytdl_sub.version.__version__
author = Jesse Bannon
description = ytdl automated with metadata creation
author_email = use_github_issues@nope.com
url = https://github.com/jmbannon/ytdl-sub
license = GNUv3
platforms = Unix
classifiers =
Topic :: Multimedia :: Sound/Audio
Topic :: Multimedia :: Video
License :: Public Domain
Environment :: Console
Programming Language :: Python :: 3.10
[options.entry_points]
console_scripts =
ytdl-sub = ytdl_sub.main:main
[options]
package_dir =
= src
install_requires =
argparse==1.4.0
dicttoxml==1.7.4
mergedeep==1.3.4
music-tag==0.4.3
Pillow==9.1.0
PyYAML==6.0
yt-dlp==2022.4.8
[options.extras_require]
test = coverage==6.3.2; pytest==7.1.1
lint = black==22.3.0; isort==5.10.1; pylint==2.13.5
docs = sphinx==4.5.0; sphinx-rtd-theme==1.0.0

View file

@ -1,7 +0,0 @@
from setuptools import find_packages
from setuptools import setup
setup(
name="ytdl_subscribe",
packages=find_packages(),
)

View file

@ -2,9 +2,9 @@ from typing import Any
import yaml
from ytdl_subscribe.validators.strict_dict_validator import StrictDictValidator
from ytdl_subscribe.validators.validators import LiteralDictValidator
from ytdl_subscribe.validators.validators import StringValidator
from ytdl_sub.validators.strict_dict_validator import StrictDictValidator
from ytdl_sub.validators.validators import LiteralDictValidator
from ytdl_sub.validators.validators import StringValidator
class ConfigOptions(StrictDictValidator):

View file

@ -5,21 +5,21 @@ from typing import Optional
from typing import Tuple
from typing import Type
from ytdl_subscribe.config.preset_class_mappings import DownloadStrategyMapping
from ytdl_subscribe.config.preset_class_mappings import PluginMapping
from ytdl_subscribe.config.preset_options import OutputOptions
from ytdl_subscribe.config.preset_options import Overrides
from ytdl_subscribe.config.preset_options import YTDLOptions
from ytdl_subscribe.downloaders.downloader import Downloader
from ytdl_subscribe.downloaders.downloader import DownloaderValidator
from ytdl_subscribe.plugins.plugin import Plugin
from ytdl_subscribe.plugins.plugin import PluginOptions
from ytdl_subscribe.utils.exceptions import StringFormattingVariableNotFoundException
from ytdl_subscribe.validators.strict_dict_validator import StrictDictValidator
from ytdl_subscribe.validators.string_formatter_validators import OverridesStringFormatterValidator
from ytdl_subscribe.validators.validators import DictValidator
from ytdl_subscribe.validators.validators import StringValidator
from ytdl_subscribe.validators.validators import Validator
from ytdl_sub.config.preset_class_mappings import DownloadStrategyMapping
from ytdl_sub.config.preset_class_mappings import PluginMapping
from ytdl_sub.config.preset_options import OutputOptions
from ytdl_sub.config.preset_options import Overrides
from ytdl_sub.config.preset_options import YTDLOptions
from ytdl_sub.downloaders.downloader import Downloader
from ytdl_sub.downloaders.downloader import DownloaderValidator
from ytdl_sub.plugins.plugin import Plugin
from ytdl_sub.plugins.plugin import PluginOptions
from ytdl_sub.utils.exceptions import StringFormattingVariableNotFoundException
from ytdl_sub.validators.strict_dict_validator import StrictDictValidator
from ytdl_sub.validators.string_formatter_validators import OverridesStringFormatterValidator
from ytdl_sub.validators.validators import DictValidator
from ytdl_sub.validators.validators import StringValidator
from ytdl_sub.validators.validators import Validator
PRESET_REQUIRED_KEYS = {"output_options"}
PRESET_OPTIONAL_KEYS = {

View file

@ -2,16 +2,16 @@ from typing import Dict
from typing import List
from typing import Type
from ytdl_subscribe.downloaders.downloader import Downloader
from ytdl_subscribe.downloaders.soundcloud_downloader import SoundcloudAlbumsAndSinglesDownloader
from ytdl_subscribe.downloaders.youtube_downloader import YoutubeChannelDownloader
from ytdl_subscribe.downloaders.youtube_downloader import YoutubePlaylistDownloader
from ytdl_subscribe.downloaders.youtube_downloader import YoutubeVideoDownloader
from ytdl_subscribe.plugins.convert_thumbnail import ConvertThumbnailPlugin
from ytdl_subscribe.plugins.music_tags import MusicTagsPlugin
from ytdl_subscribe.plugins.nfo_tags import NfoTagsPlugin
from ytdl_subscribe.plugins.output_directory_nfo_tags import OutputDirectoryNfoTagsPlugin
from ytdl_subscribe.plugins.plugin import Plugin
from ytdl_sub.downloaders.downloader import Downloader
from ytdl_sub.downloaders.soundcloud_downloader import SoundcloudAlbumsAndSinglesDownloader
from ytdl_sub.downloaders.youtube_downloader import YoutubeChannelDownloader
from ytdl_sub.downloaders.youtube_downloader import YoutubePlaylistDownloader
from ytdl_sub.downloaders.youtube_downloader import YoutubeVideoDownloader
from ytdl_sub.plugins.convert_thumbnail import ConvertThumbnailPlugin
from ytdl_sub.plugins.music_tags import MusicTagsPlugin
from ytdl_sub.plugins.nfo_tags import NfoTagsPlugin
from ytdl_sub.plugins.output_directory_nfo_tags import OutputDirectoryNfoTagsPlugin
from ytdl_sub.plugins.plugin import Plugin
class DownloadStrategyMapping:

View file

@ -2,14 +2,14 @@ from typing import Optional
from yt_dlp.utils import sanitize_filename
from ytdl_subscribe.entries.entry import Entry
from ytdl_subscribe.validators.date_range_validator import DateRangeValidator
from ytdl_subscribe.validators.strict_dict_validator import StrictDictValidator
from ytdl_subscribe.validators.string_formatter_validators import DictFormatterValidator
from ytdl_subscribe.validators.string_formatter_validators import OverridesStringFormatterValidator
from ytdl_subscribe.validators.string_formatter_validators import StringFormatterValidator
from ytdl_subscribe.validators.validators import BoolValidator
from ytdl_subscribe.validators.validators import LiteralDictValidator
from ytdl_sub.entries.entry import Entry
from ytdl_sub.validators.date_range_validator import DateRangeValidator
from ytdl_sub.validators.strict_dict_validator import StrictDictValidator
from ytdl_sub.validators.string_formatter_validators import DictFormatterValidator
from ytdl_sub.validators.string_formatter_validators import OverridesStringFormatterValidator
from ytdl_sub.validators.string_formatter_validators import StringFormatterValidator
from ytdl_sub.validators.validators import BoolValidator
from ytdl_sub.validators.validators import LiteralDictValidator
class YTDLOptions(LiteralDictValidator):

View file

@ -6,14 +6,14 @@ from typing import List
import yaml
from mergedeep import mergedeep
from ytdl_subscribe.config.config_file import ConfigFile
from ytdl_subscribe.config.preset import PRESET_OPTIONAL_KEYS
from ytdl_subscribe.config.preset import PRESET_REQUIRED_KEYS
from ytdl_subscribe.config.preset import Preset
from ytdl_subscribe.config.preset_options import Overrides
from ytdl_subscribe.subscriptions.subscription import Subscription
from ytdl_subscribe.validators.strict_dict_validator import StrictDictValidator
from ytdl_subscribe.validators.validators import StringValidator
from ytdl_sub.config.config_file import ConfigFile
from ytdl_sub.config.preset import PRESET_OPTIONAL_KEYS
from ytdl_sub.config.preset import PRESET_REQUIRED_KEYS
from ytdl_sub.config.preset import Preset
from ytdl_sub.config.preset_options import Overrides
from ytdl_sub.subscriptions.subscription import Subscription
from ytdl_sub.validators.strict_dict_validator import StrictDictValidator
from ytdl_sub.validators.validators import StringValidator
class SubscriptionValidator(StrictDictValidator):

View file

@ -11,9 +11,9 @@ from typing import TypeVar
import yt_dlp as ytdl
from ytdl_subscribe.config.preset_options import Overrides
from ytdl_subscribe.entries.entry import Entry
from ytdl_subscribe.validators.strict_dict_validator import StrictDictValidator
from ytdl_sub.config.preset_options import Overrides
from ytdl_sub.entries.entry import Entry
from ytdl_sub.validators.strict_dict_validator import StrictDictValidator
class DownloaderValidator(StrictDictValidator, ABC):

View file

@ -4,12 +4,12 @@ from typing import Generic
from typing import List
from typing import TypeVar
from ytdl_subscribe.downloaders.downloader import Downloader
from ytdl_subscribe.downloaders.downloader import DownloaderValidator
from ytdl_subscribe.entries.soundcloud import SoundcloudAlbum
from ytdl_subscribe.entries.soundcloud import SoundcloudTrack
from ytdl_subscribe.validators.validators import BoolValidator
from ytdl_subscribe.validators.validators import StringValidator
from ytdl_sub.downloaders.downloader import Downloader
from ytdl_sub.downloaders.downloader import DownloaderValidator
from ytdl_sub.entries.soundcloud import SoundcloudAlbum
from ytdl_sub.entries.soundcloud import SoundcloudTrack
from ytdl_sub.validators.validators import BoolValidator
from ytdl_sub.validators.validators import StringValidator
###############################################################################
# Abstract Soundcloud downloader + options

View file

@ -13,13 +13,13 @@ from PIL.Image import Image
from PIL.Image import open as pil_open
from yt_dlp.utils import RejectedVideoReached
from ytdl_subscribe.config.preset_options import Overrides
from ytdl_subscribe.downloaders.downloader import Downloader
from ytdl_subscribe.downloaders.downloader import DownloaderValidator
from ytdl_subscribe.entries.youtube import YoutubeVideo
from ytdl_subscribe.validators.date_range_validator import DateRangeValidator
from ytdl_subscribe.validators.string_formatter_validators import OverridesStringFormatterValidator
from ytdl_subscribe.validators.validators import StringValidator
from ytdl_sub.config.preset_options import Overrides
from ytdl_sub.downloaders.downloader import Downloader
from ytdl_sub.downloaders.downloader import DownloaderValidator
from ytdl_sub.entries.youtube import YoutubeVideo
from ytdl_sub.validators.date_range_validator import DateRangeValidator
from ytdl_sub.validators.string_formatter_validators import OverridesStringFormatterValidator
from ytdl_sub.validators.validators import StringValidator
###############################################################################
# Abstract Youtube downloader + options

View file

@ -2,8 +2,8 @@ from pathlib import Path
from typing import Dict
from typing import final
from ytdl_subscribe.entries.base_entry import BaseEntry
from ytdl_subscribe.entries.variables.entry_variables import EntryVariables
from ytdl_sub.entries.base_entry import BaseEntry
from ytdl_sub.entries.variables.entry_variables import EntryVariables
class Entry(EntryVariables, BaseEntry):

View file

@ -1,9 +1,9 @@
from typing import Dict
from typing import List
from ytdl_subscribe.entries.base_entry import PlaylistMetadata
from ytdl_subscribe.entries.entry import Entry
from ytdl_subscribe.entries.variables.soundcloud_variables import SoundcloudVariables
from ytdl_sub.entries.base_entry import PlaylistMetadata
from ytdl_sub.entries.entry import Entry
from ytdl_sub.entries.variables.soundcloud_variables import SoundcloudVariables
class SoundcloudTrack(SoundcloudVariables, Entry):

View file

@ -3,7 +3,7 @@ from typing import final
from yt_dlp.utils import sanitize_filename
from ytdl_subscribe.entries.base_entry import BaseEntry
from ytdl_sub.entries.base_entry import BaseEntry
# This file contains mixins to a BaseEntry subclass. Ignore pylint's "no kwargs member" suggestion
# pylint: disable=no-member

View file

@ -1,6 +1,6 @@
from yt_dlp.utils import sanitize_filename
from ytdl_subscribe.entries.variables.entry_variables import EntryVariables
from ytdl_sub.entries.variables.entry_variables import EntryVariables
# This file contains mixins to a BaseEntry subclass. Ignore pylint's "no kwargs member" suggestion
# pylint: disable=no-member

View file

@ -1,5 +1,5 @@
from ytdl_subscribe.entries.base_entry import BaseEntry
from ytdl_subscribe.entries.variables.entry_variables import EntryVariables
from ytdl_sub.entries.base_entry import BaseEntry
from ytdl_sub.entries.variables.entry_variables import EntryVariables
# This file contains mixins to a BaseEntry subclass. Ignore pylint's "no kwargs member" suggestion
# pylint: disable=no-member

View file

@ -1,8 +1,8 @@
import os.path
from pathlib import Path
from ytdl_subscribe.entries.entry import Entry
from ytdl_subscribe.entries.variables.youtube_variables import YoutubeVideoVariables
from ytdl_sub.entries.entry import Entry
from ytdl_sub.entries.variables.youtube_variables import YoutubeVideoVariables
class YoutubeVideo(YoutubeVideoVariables, Entry):

View file

@ -3,11 +3,11 @@ import sys
import traceback
from typing import List
from ytdl_subscribe.cli.download_args_parser import DownloadArgsParser
from ytdl_subscribe.cli.main_args_parser import parser
from ytdl_subscribe.config.config_file import ConfigFile
from ytdl_subscribe.config.subscription import SubscriptionValidator
from ytdl_subscribe.utils.exceptions import ValidationException
from ytdl_sub.cli.download_args_parser import DownloadArgsParser
from ytdl_sub.cli.main_args_parser import parser
from ytdl_sub.config.config_file import ConfigFile
from ytdl_sub.config.subscription import SubscriptionValidator
from ytdl_sub.utils.exceptions import ValidationException
DEBUGGER_MODE = True
@ -49,7 +49,7 @@ def _download_subscription_from_cli(config: ConfigFile, extra_args: List[str]) -
).to_subscription().download()
def _main():
def main():
"""Entrypoint for ytdl-subscribe"""
args, extra_args = parser.parse_known_args()
@ -66,7 +66,7 @@ def _main():
if __name__ == "__main__":
try:
_main()
main()
except ValidationException as validation_exception:
if DEBUGGER_MODE:
raise

View file

@ -3,10 +3,10 @@ import os
from PIL.Image import Image
from PIL.Image import open as pil_open
from ytdl_subscribe.entries.entry import Entry
from ytdl_subscribe.plugins.plugin import Plugin
from ytdl_subscribe.plugins.plugin import PluginOptions
from ytdl_subscribe.validators.string_select_validator import StringSelectValidator
from ytdl_sub.entries.entry import Entry
from ytdl_sub.plugins.plugin import Plugin
from ytdl_sub.plugins.plugin import PluginOptions
from ytdl_sub.validators.string_select_validator import StringSelectValidator
class ThumbnailTypes(StringSelectValidator):

View file

@ -1,10 +1,10 @@
import music_tag
from ytdl_subscribe.entries.entry import Entry
from ytdl_subscribe.plugins.plugin import Plugin
from ytdl_subscribe.plugins.plugin import PluginOptions
from ytdl_subscribe.validators.string_formatter_validators import DictFormatterValidator
from ytdl_subscribe.validators.validators import StringValidator
from ytdl_sub.entries.entry import Entry
from ytdl_sub.plugins.plugin import Plugin
from ytdl_sub.plugins.plugin import PluginOptions
from ytdl_sub.validators.string_formatter_validators import DictFormatterValidator
from ytdl_sub.validators.validators import StringValidator
class MusicTagsOptions(PluginOptions):

View file

@ -3,11 +3,11 @@ from pathlib import Path
import dicttoxml
from ytdl_subscribe.entries.entry import Entry
from ytdl_subscribe.plugins.plugin import Plugin
from ytdl_subscribe.plugins.plugin import PluginOptions
from ytdl_subscribe.validators.string_formatter_validators import DictFormatterValidator
from ytdl_subscribe.validators.string_formatter_validators import StringFormatterValidator
from ytdl_sub.entries.entry import Entry
from ytdl_sub.plugins.plugin import Plugin
from ytdl_sub.plugins.plugin import PluginOptions
from ytdl_sub.validators.string_formatter_validators import DictFormatterValidator
from ytdl_sub.validators.string_formatter_validators import StringFormatterValidator
class NfoTagsOptions(PluginOptions):

View file

@ -3,10 +3,10 @@ from pathlib import Path
import dicttoxml
from ytdl_subscribe.plugins.plugin import Plugin
from ytdl_subscribe.plugins.plugin import PluginOptions
from ytdl_subscribe.validators.string_formatter_validators import OverridesDictFormatterValidator
from ytdl_subscribe.validators.string_formatter_validators import OverridesStringFormatterValidator
from ytdl_sub.plugins.plugin import Plugin
from ytdl_sub.plugins.plugin import PluginOptions
from ytdl_sub.validators.string_formatter_validators import OverridesDictFormatterValidator
from ytdl_sub.validators.string_formatter_validators import OverridesStringFormatterValidator
class OutputDirectoryNfoTagsOptions(PluginOptions):

View file

@ -4,10 +4,10 @@ from typing import Type
from typing import TypeVar
from typing import final
from ytdl_subscribe.config.preset_options import Overrides
from ytdl_subscribe.entries.entry import Entry
from ytdl_subscribe.validators.strict_dict_validator import StrictDictValidator
from ytdl_subscribe.ytdl_additions.enhanced_download_archive import EnhancedDownloadArchive
from ytdl_sub.config.preset_options import Overrides
from ytdl_sub.entries.entry import Entry
from ytdl_sub.validators.strict_dict_validator import StrictDictValidator
from ytdl_sub.ytdl_additions.enhanced_download_archive import EnhancedDownloadArchive
class PluginOptions(StrictDictValidator):

View file

@ -7,17 +7,17 @@ from typing import List
from typing import Tuple
from typing import Type
from ytdl_subscribe.config.config_file import ConfigOptions
from ytdl_subscribe.config.preset import Preset
from ytdl_subscribe.config.preset_options import OutputOptions
from ytdl_subscribe.config.preset_options import Overrides
from ytdl_subscribe.config.preset_options import YTDLOptions
from ytdl_subscribe.downloaders.downloader import Downloader
from ytdl_subscribe.downloaders.downloader import DownloaderValidator
from ytdl_subscribe.entries.entry import Entry
from ytdl_subscribe.plugins.plugin import Plugin
from ytdl_subscribe.plugins.plugin import PluginOptions
from ytdl_subscribe.ytdl_additions.enhanced_download_archive import EnhancedDownloadArchive
from ytdl_sub.config.config_file import ConfigOptions
from ytdl_sub.config.preset import Preset
from ytdl_sub.config.preset_options import OutputOptions
from ytdl_sub.config.preset_options import Overrides
from ytdl_sub.config.preset_options import YTDLOptions
from ytdl_sub.downloaders.downloader import Downloader
from ytdl_sub.downloaders.downloader import DownloaderValidator
from ytdl_sub.entries.entry import Entry
from ytdl_sub.plugins.plugin import Plugin
from ytdl_sub.plugins.plugin import PluginOptions
from ytdl_sub.ytdl_additions.enhanced_download_archive import EnhancedDownloadArchive
class Subscription:

View file

@ -2,8 +2,8 @@ from typing import Optional
from yt_dlp import DateRange
from ytdl_subscribe.validators.strict_dict_validator import StrictDictValidator
from ytdl_subscribe.validators.string_datetime import StringDatetimeValidator
from ytdl_sub.validators.strict_dict_validator import StrictDictValidator
from ytdl_sub.validators.string_datetime import StringDatetimeValidator
class DateRangeValidator(StrictDictValidator):

View file

@ -1,7 +1,7 @@
from typing import List
from typing import Set
from ytdl_subscribe.validators.validators import DictValidator
from ytdl_sub.validators.validators import DictValidator
class StrictDictValidator(DictValidator):

View file

@ -1,6 +1,6 @@
from yt_dlp.utils import datetime_from_str
from ytdl_subscribe.validators.validators import Validator
from ytdl_sub.validators.validators import Validator
class StringDatetimeValidator(Validator):

View file

@ -5,10 +5,10 @@ from typing import Dict
from typing import List
from typing import final
from ytdl_subscribe.utils.exceptions import StringFormattingException
from ytdl_subscribe.utils.exceptions import StringFormattingVariableNotFoundException
from ytdl_subscribe.validators.validators import LiteralDictValidator
from ytdl_subscribe.validators.validators import Validator
from ytdl_sub.utils.exceptions import StringFormattingException
from ytdl_sub.utils.exceptions import StringFormattingVariableNotFoundException
from ytdl_sub.validators.validators import LiteralDictValidator
from ytdl_sub.validators.validators import Validator
class StringFormatterValidator(Validator):

View file

@ -1,6 +1,6 @@
from typing import Set
from ytdl_subscribe.validators.validators import StringValidator
from ytdl_sub.validators.validators import StringValidator
class StringSelectValidator(StringValidator):

View file

@ -8,7 +8,7 @@ from typing import Type
from typing import TypeVar
from typing import final
from ytdl_subscribe.utils.exceptions import ValidationException
from ytdl_sub.utils.exceptions import ValidationException
V = TypeVar("V", bound=ValidationException)

1
src/ytdl_sub/version.py Normal file
View file

@ -0,0 +1 @@
__version__ = "0.0.1"

View file

View file

@ -12,7 +12,7 @@ from typing import Set
from yt_dlp import DateRange
from ytdl_subscribe.entries.entry import Entry
from ytdl_sub.entries.entry import Entry
@dataclass

View file

@ -1,7 +1,7 @@
import pytest
from ytdl_subscribe.entries.entry import Entry
from ytdl_subscribe.validators.string_formatter_validators import StringFormatterValidator
from ytdl_sub.entries.entry import Entry
from ytdl_sub.validators.string_formatter_validators import StringFormatterValidator
def _pad(num):

View file

@ -1,6 +1,6 @@
import pytest
from ytdl_subscribe.entries.soundcloud import SoundcloudTrack
from ytdl_sub.entries.soundcloud import SoundcloudTrack
@pytest.fixture

View file

@ -1,7 +1,7 @@
import pytest
from ytdl_subscribe.utils.exceptions import ValidationException
from ytdl_subscribe.validators.validators import BoolValidator
from ytdl_sub.utils.exceptions import ValidationException
from ytdl_sub.validators.validators import BoolValidator
@pytest.mark.parametrize("value", [True, False])

View file

@ -1,10 +1,10 @@
import pytest
from ytdl_subscribe.utils.exceptions import ValidationException
from ytdl_subscribe.validators.validators import BoolValidator
from ytdl_subscribe.validators.validators import DictValidator
from ytdl_subscribe.validators.validators import LiteralDictValidator
from ytdl_subscribe.validators.validators import StringValidator
from ytdl_sub.utils.exceptions import ValidationException
from ytdl_sub.validators.validators import BoolValidator
from ytdl_sub.validators.validators import DictValidator
from ytdl_sub.validators.validators import LiteralDictValidator
from ytdl_sub.validators.validators import StringValidator
class TestDictValidator:

View file

@ -1,11 +1,11 @@
import pytest
from ytdl_subscribe.utils.exceptions import StringFormattingException
from ytdl_subscribe.utils.exceptions import ValidationException
from ytdl_subscribe.validators.string_formatter_validators import DictFormatterValidator
from ytdl_subscribe.validators.string_formatter_validators import OverridesDictFormatterValidator
from ytdl_subscribe.validators.string_formatter_validators import OverridesStringFormatterValidator
from ytdl_subscribe.validators.string_formatter_validators import StringFormatterValidator
from ytdl_sub.utils.exceptions import StringFormattingException
from ytdl_sub.utils.exceptions import ValidationException
from ytdl_sub.validators.string_formatter_validators import DictFormatterValidator
from ytdl_sub.validators.string_formatter_validators import OverridesDictFormatterValidator
from ytdl_sub.validators.string_formatter_validators import OverridesStringFormatterValidator
from ytdl_sub.validators.string_formatter_validators import StringFormatterValidator
@pytest.fixture

View file

@ -1,7 +1,7 @@
import pytest
from ytdl_subscribe.utils.exceptions import ValidationException
from ytdl_subscribe.validators.validators import StringValidator
from ytdl_sub.utils.exceptions import ValidationException
from ytdl_sub.validators.validators import StringValidator
@pytest.mark.parametrize("value", ["a", "unicode 💩", ""])