From 84cc08f7f3a871762c6445744c66649d2e570798 Mon Sep 17 00:00:00 2001 From: Star Brilliant Date: Sat, 21 Dec 2013 23:49:17 +0800 Subject: [PATCH] Check isinstance(filename, bytes) in case the caller passed a bytes instead of a str --- danmaku2ass.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/danmaku2ass.py b/danmaku2ass.py index 7b87152..5b45147 100755 --- a/danmaku2ass.py +++ b/danmaku2ass.py @@ -598,6 +598,8 @@ def ConvertType2(row, height, bottomReserved): def ConvertToFile(filename_or_file, *args, **kwargs): + if isinstance(filename_or_file, bytes): + filename_or_file = str(bytes(filename_or_file).decode('utf-8', 'replace')) if isinstance(filename_or_file, str): return open(filename_or_file, *args, **kwargs) else: @@ -644,6 +646,8 @@ def Danmaku2ASS(input_files, output_file, stage_width, stage_height, reserve_bla @export def ReadComments(input_files, font_size=25.0, progress_callback=None): + if isinstance(input_files, bytes): + input_files = str(bytes(input_files).decode('utf-8', 'replace')) if isinstance(input_files, str): input_files = [input_files] else: