mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2025-06-28 09:28:33 +00:00
[devale] improve input validation
Authored by: bashonly
This commit is contained in:
parent
65b8662f37
commit
afa47b8715
@ -141,7 +141,7 @@
|
|||||||
'name': 'hole',
|
'name': 'hole',
|
||||||
'unparsed': -2,
|
'unparsed': -2,
|
||||||
'error': ValueError,
|
'error': ValueError,
|
||||||
'pattern': r'invalid input',
|
'pattern': r'invalid integer input',
|
||||||
}, {
|
}, {
|
||||||
'name': 'string',
|
'name': 'string',
|
||||||
'unparsed': 'hello',
|
'unparsed': 'hello',
|
||||||
@ -150,13 +150,13 @@
|
|||||||
}, {
|
}, {
|
||||||
'name': 'number',
|
'name': 'number',
|
||||||
'unparsed': 42,
|
'unparsed': 42,
|
||||||
'error': KeyError,
|
'error': ValueError,
|
||||||
'pattern': r'42',
|
'pattern': r'invalid integer input',
|
||||||
}, {
|
}, {
|
||||||
'name': 'boolean',
|
'name': 'boolean',
|
||||||
'unparsed': True,
|
'unparsed': True,
|
||||||
'error': KeyError,
|
'error': ValueError,
|
||||||
'pattern': r'True',
|
'pattern': r'expected int or list as input',
|
||||||
}, {
|
}, {
|
||||||
'name': 'null',
|
'name': 'null',
|
||||||
'unparsed': None,
|
'unparsed': None,
|
||||||
@ -170,8 +170,8 @@
|
|||||||
}, {
|
}, {
|
||||||
'name': 'empty array',
|
'name': 'empty array',
|
||||||
'unparsed': [],
|
'unparsed': [],
|
||||||
'error': IndexError,
|
'error': ValueError,
|
||||||
'pattern': r'list index out of range',
|
'pattern': r'expected a non-empty list as input',
|
||||||
}, {
|
}, {
|
||||||
'name': 'Python negative indexing',
|
'name': 'Python negative indexing',
|
||||||
'unparsed': [[1, 2, 3, 4, 5, 6, 7, -7], 1, 2, 3, 4, 5, 6, 7],
|
'unparsed': [[1, 2, 3, 4, 5, 6, 7, -7], 1, 2, 3, 4, 5, 6, 7],
|
||||||
|
@ -43,12 +43,14 @@ def parse_iter(parsed: typing.Any, /, *, revivers: dict[str, collections.abc.Cal
|
|||||||
-6: -0.0,
|
-6: -0.0,
|
||||||
}
|
}
|
||||||
|
|
||||||
if isinstance(parsed, int):
|
if isinstance(parsed, int) and not isinstance(parsed, bool):
|
||||||
if parsed == -2:
|
if parsed not in resolved or parsed == -2:
|
||||||
raise ValueError('invalid input')
|
raise ValueError('invalid integer input')
|
||||||
return resolved[parsed]
|
return resolved[parsed]
|
||||||
elif not isinstance(parsed, list):
|
elif not isinstance(parsed, list):
|
||||||
raise ValueError('expected int or list as input')
|
raise ValueError('expected int or list as input')
|
||||||
|
elif not parsed:
|
||||||
|
raise ValueError('expected a non-empty list as input')
|
||||||
|
|
||||||
if revivers is None:
|
if revivers is None:
|
||||||
revivers = {}
|
revivers = {}
|
||||||
|
Loading…
Reference in New Issue
Block a user