diff options
author | dirkf <[email protected]> | 2022-10-11 05:58:10 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2022-10-11 05:58:10 +0100 |
commit | 6e2626f092c63a5fa22a31df409610b5deaf3968 (patch) | |
tree | f71f1741cbb6e2e7b041ebd3ee2bb973bc4b9653 | |
parent | c282e5f8d723763ba88c521221e4535f46453949 (diff) | |
download | youtube-dl-6e2626f092c63a5fa22a31df409610b5deaf3968.tar.gz youtube-dl-6e2626f092c63a5fa22a31df409610b5deaf3968.zip |
[JSInterp] Improve separation logic
Based on https://github.com/yt-dlp/yt-dlp/commit/0468a3b3253957bfbeb98b4a7c71542ff80e9e06
-rw-r--r-- | youtube_dl/jsinterp.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/youtube_dl/jsinterp.py b/youtube_dl/jsinterp.py index 99dd98435..530a705b4 100644 --- a/youtube_dl/jsinterp.py +++ b/youtube_dl/jsinterp.py @@ -214,7 +214,7 @@ class JSInterpreter(object): def __init__(self, msg, *args, **kwargs): expr = kwargs.pop('expr', None) if expr is not None: - msg = '{0} in: {1!r}'.format(msg.rstrip(), expr[:100]) + msg = '{0} in: {1!r:.100}'.format(msg.rstrip(), expr) super(JSInterpreter.Exception, self).__init__(msg, *args, **kwargs) @classmethod @@ -268,7 +268,7 @@ class JSInterpreter(object): elif in_quote == '/' and char in '[]': in_regex_char_group = char == '[' escaping = not escaping and in_quote and char == '\\' - after_op = not in_quote and (char in cls.OP_CHARS or (char.isspace() and after_op)) + after_op = not in_quote and (char in cls.OP_CHARS or char == '[' or (char.isspace() and after_op)) if char != delim[pos] or any(counters.values()) or in_quote: pos = skipping = 0 @@ -301,7 +301,7 @@ class JSInterpreter(object): separated = list(cls._separate(expr, delim, 1)) if len(separated) < 2: - raise cls.Exception('No terminating paren {delim} in {expr}'.format(**locals())) + raise cls.Exception('No terminating paren {delim} in {expr:.100}'.format(**locals())) return separated[0][1:].strip(), separated[1].strip() @staticmethod |