fixed linting errors

This commit is contained in:
bmcdonough 2025-10-15 22:32:45 +00:00
parent 319ed9329d
commit 97c5e4c8e5
4 changed files with 36 additions and 26 deletions

View File

@ -30,11 +30,12 @@ class ExtractorArgsParser:
Example:
>>> parser = ExtractorArgsParser()
>>> result = parser.parse("youtube:key1=val1,val2;key2=val3")
>>> # Returns: {"youtube": {"key1": ["val1", "val2"], "key2": ["val3"]}}
>>> # Returns: {"youtube": {"key1": ["val1", "val2"],
>>> # "key2": ["val3"]}}
"""
@staticmethod
def _parse_key_values(key, vals=''):
def _parse_key_values(key, vals=""):
"""
Parse a single key=values pair following yt-dlp logic.
@ -46,7 +47,7 @@ class ExtractorArgsParser:
tuple: (normalized_key, list_of_values)
"""
# Normalize key: strip, lowercase, replace hyphens with underscores
normalized_key = key.strip().lower().replace('-', '_')
normalized_key = key.strip().lower().replace("-", "_")
# Split values by comma, but preserve escaped commas
# yt-dlp uses: re.split(r'(?<!\\),', vals)
@ -54,8 +55,8 @@ class ExtractorArgsParser:
return normalized_key, []
value_list = [
val.replace(r'\,', ',').strip()
for val in re.split(r'(?<!\\),', vals)
val.replace(r"\,", ",").strip()
for val in re.split(r"(?<!\\),", vals)
]
return normalized_key, value_list
@ -86,15 +87,21 @@ class ExtractorArgsParser:
for spec in extractor_specs:
# Split by first colon to separate extractor from args
if ':' not in spec:
print(f"[extractor_args] Warning: Invalid format (missing colon): {spec}")
if ":" not in spec:
print(
"[extractor_args] Warning: Invalid format "
f"(missing colon): {spec}"
)
continue
extractor_name, args_part = spec.split(':', 1)
extractor_name, args_part = spec.split(":", 1)
extractor_name = extractor_name.strip()
if not extractor_name:
print(f"[extractor_args] Warning: Empty extractor name in: {spec}")
print(
"[extractor_args] Warning: Empty extractor name "
f"in: {spec}"
)
continue
# Initialize extractor dict if not exists
@ -102,18 +109,21 @@ class ExtractorArgsParser:
result[extractor_name] = {}
# Split args by semicolon to get individual key=value pairs
key_value_pairs = args_part.split(';')
key_value_pairs = args_part.split(";")
for pair in key_value_pairs:
if not pair.strip():
continue
# Split by first equals sign
if '=' not in pair:
print(f"[extractor_args] Warning: Invalid pair (missing =): {pair}")
if "=" not in pair:
print(
"[extractor_args] Warning: Invalid pair "
f"(missing =): {pair}"
)
continue
key_part, value_part = pair.split('=', 1)
key_part, value_part = pair.split("=", 1)
normalized_key, value_list = self._parse_key_values(
key_part, value_part
)

View File

@ -39,7 +39,10 @@ class Migration(migrations.Migration):
"is_superuser",
models.BooleanField(
default=False,
help_text="Designates that this user has all permissions without explicitly assigning them.",
help_text=(
"Designates that this user has all permissions "
"without explicitly assigning them."
),
verbose_name="superuser status",
),
),
@ -49,7 +52,11 @@ class Migration(migrations.Migration):
"groups",
models.ManyToManyField(
blank=True,
help_text="The groups this user belongs to. A user will get all permissions granted to each of their groups.",
help_text=(
"The groups this user belongs to. A user will "
"get all permissions granted to each of their "
"groups."
),
related_name="user_set",
related_query_name="user",
to="auth.group",

View File

@ -1352,7 +1352,6 @@
"integrity": "sha512-keKxkZMqnDicuvFoJbzrhbtdLSPhj/rZThDlKWCDbgXmUg0rEUFtRssDXKYmtXluZlIqiC5VqkCgRwzuyLHKHw==",
"devOptional": true,
"license": "MIT",
"peer": true,
"dependencies": {
"csstype": "^3.0.2"
}
@ -1410,7 +1409,6 @@
"integrity": "sha512-tK3GPFWbirvNgsNKto+UmB/cRtn6TZfyw0D6IKrW55n6Vbs7KJoZtI//kpTKzE/DUmmnAFD8/Ca46s7Obs92/w==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@typescript-eslint/scope-manager": "8.46.4",
"@typescript-eslint/types": "8.46.4",
@ -1633,7 +1631,6 @@
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"dev": true,
"license": "MIT",
"peer": true,
"bin": {
"acorn": "bin/acorn"
},
@ -1930,7 +1927,6 @@
"integrity": "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.8.0",
"@eslint-community/regexpp": "^4.12.1",
@ -2823,7 +2819,6 @@
"resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz",
"integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=0.10.0"
}
@ -2833,7 +2828,6 @@
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz",
"integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==",
"license": "MIT",
"peer": true,
"dependencies": {
"scheduler": "^0.27.0"
},
@ -3128,7 +3122,6 @@
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=12"
},
@ -3181,7 +3174,6 @@
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
"dev": true,
"license": "Apache-2.0",
"peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@ -3243,7 +3235,6 @@
"integrity": "sha512-BxAKBWmIbrDgrokdGZH1IgkIk/5mMHDreLDmCJ0qpyJaAteP8NvMhkwr/ZCQNqNH97bw/dANTE9PDzqwJghfMQ==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"esbuild": "^0.25.0",
"fdir": "^6.5.0",
@ -3412,7 +3403,6 @@
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=12"
},

View File

@ -465,7 +465,10 @@ const SettingsApplication = () => {
<li>Format: EXTRACTOR:ARG1=VAL1,VAL2;ARG2=VAL3;ARG3=VAL4</li>
<li>
More details{' '}
<a target="_blank" href="https://github.com/yt-dlp/yt-dlp#extractor-arguments">
<a
target="_blank"
href="https://github.com/yt-dlp/yt-dlp#extractor-arguments"
>
here
</a>
.