From 5abea6d0c5215ccf5443245d3b1948975eb7ebc8 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Sat, 16 Jul 2022 19:32:23 -0700 Subject: [PATCH] fix issue with single quotes in extended info --- jc/parsers/m3u.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/jc/parsers/m3u.py b/jc/parsers/m3u.py index acdaa303..3405a0db 100644 --- a/jc/parsers/m3u.py +++ b/jc/parsers/m3u.py @@ -133,7 +133,8 @@ def parse( # extended info fields if line.lstrip().startswith('#EXTINF:'): - splitline = line.strip().split(':', maxsplit=1) + newline = line.replace("'", "�") # single quotes break shlex split + splitline = newline.strip().split(':', maxsplit=1) # best-effort to parse additional extended fields # if a parsing error occurs, a warning message will be @@ -141,7 +142,7 @@ def parse( try: extline = shlex.shlex(splitline[1], posix=True) extline.whitespace_split = True - extline.whitespace = ', \n' + extline.whitespace = ', ' # add comma to whitespace detection extline_list = list(extline) runtime = extline_list.pop(0) display_list = [] @@ -154,7 +155,7 @@ def parse( else: display_list.append(item) - display = ' '.join(display_list) + display = ' '.join(display_list).replace("�", "'") output_line.update({ 'runtime': runtime, 'display': display