From 80bf0104339ce2d17cc447ddee9007093627b5e0 Mon Sep 17 00:00:00 2001 From: JustAnotherArchivist Date: Tue, 27 Jul 2021 03:20:04 +0000 Subject: [PATCH] Percent-decode each line only once --- youtube-extract | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/youtube-extract b/youtube-extract index 33ca10d..2c17d90 100755 --- a/youtube-extract +++ b/youtube-extract @@ -114,10 +114,11 @@ for origLine in sys.stdin: origLine = origLine.strip() line = re.sub(r'https?://', '//', origLine) line = domainPattern.sub('/www.youtube.com/', line) + decodedLine = percentdecode(line) hadMatches = False for pattern, paramSearch, f in matchers: results = set() - for m in itertools.chain((x for x in pattern.finditer(line)), (x for x in pattern.finditer(percentdecode(line))) if paramSearch else ()): + for m in itertools.chain((x for x in pattern.finditer(line)), (x for x in pattern.finditer(decodedLine)) if paramSearch else ()): hadMatches = True r = f(m) if r in results: