diff --git a/Src/Lib/FFmpeg/my_m3u8.py b/Src/Lib/FFmpeg/my_m3u8.py index 1ef82a6..4d6fa8c 100644 --- a/Src/Lib/FFmpeg/my_m3u8.py +++ b/Src/Lib/FFmpeg/my_m3u8.py @@ -741,9 +741,9 @@ class Downloader(): return concatenate_and_save( file_list_path=file_list_path, output_filename=out_file_name, - v_codec=self.codec.video_codec_name, - a_codec=self.codec.audio_codec_name, - bandwidth=self.codec.bandwidth + v_codec=getattr(self.codec, 'video_codec_name', None), # Return none if key dont exist + a_codec=getattr(self.codec, 'audio_codec_name', None), + bandwidth=getattr(self.codec, 'bandwidth', None) ) def download_audios(self): diff --git a/Src/Lib/Unidecode/__init__.py b/Src/Lib/Unidecode/__init__.py index afa9e57..407692d 100644 --- a/Src/Lib/Unidecode/__init__.py +++ b/Src/Lib/Unidecode/__init__.py @@ -58,6 +58,7 @@ def _get_ascii_representation(char: str) -> str: try: # Look up the character in the cache table = Cache[section] + except KeyError: try: # Import the module corresponding to the section @@ -67,6 +68,7 @@ def _get_ascii_representation(char: str) -> str: spec = importlib.util.spec_from_file_location(module_name, module_path) module = importlib.util.module_from_spec(spec) spec.loader.exec_module(module) + except ImportError: # If module import fails, set cache entry to None and return Cache[section] = None diff --git a/Src/Lib/Unidecode/x000.py b/Src/Lib/Unidecode/x000.py index 22bdb89..2c288a6 100644 --- a/Src/Lib/Unidecode/x000.py +++ b/Src/Lib/Unidecode/x000.py @@ -10,72 +10,72 @@ data = ( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', -'', # 0x80 -'', # 0x81 -'', # 0x82 -'', # 0x83 -'', # 0x84 -'', # 0x85 -'', # 0x86 -'', # 0x87 -'', # 0x88 -'', # 0x89 -'', # 0x8a -'', # 0x8b -'', # 0x8c -'', # 0x8d -'', # 0x8e -'', # 0x8f -'', # 0x90 -'', # 0x91 -'', # 0x92 -'', # 0x93 -'', # 0x94 -'', # 0x95 -'', # 0x96 -'', # 0x97 -'', # 0x98 -'', # 0x99 -'', # 0x9a -'', # 0x9b -'', # 0x9c -'', # 0x9d -'', # 0x9e -'', # 0x9f +'', # 0x80 +'', # 0x81 +'', # 0x82 +'', # 0x83 +'', # 0x84 +'', # 0x85 +'', # 0x86 +'', # 0x87 +'', # 0x88 +'', # 0x89 +'', # 0x8a +'', # 0x8b +'', # 0x8c +'', # 0x8d +'', # 0x8e +'', # 0x8f +'', # 0x90 +'', # 0x91 +'', # 0x92 +'', # 0x93 +'', # 0x94 +'', # 0x95 +'', # 0x96 +'', # 0x97 +'', # 0x98 +'', # 0x99 +'', # 0x9a +'', # 0x9b +'', # 0x9c +'', # 0x9d +'', # 0x9e +'', # 0x9f ' ', # 0xa0 '!', # 0xa1 -'C/', # 0xa2 +'C/', # 0xa2 # Not "GBP" - Pound Sign is used for more than just British Pounds. 'PS', # 0xa3 '$?', # 0xa4 'Y=', # 0xa5 -'|', # 0xa6 +'|', # 0xa6 'SS', # 0xa7 -'"', # 0xa8 -'(c)', # 0xa9 -'a', # 0xaa +'"', # 0xa8 +'(c)', # 0xa9 +'a', # 0xaa '<<', # 0xab -'!', # 0xac -'', # 0xad -'(r)', # 0xae -'-', # 0xaf -'deg', # 0xb0 +'!', # 0xac +'', # 0xad +'(r)', # 0xae +'-', # 0xaf +'deg', # 0xb0 '+-', # 0xb1 # These might be combined with other superscript digits (u+2070 - u+2079) '2', # 0xb2 '3', # 0xb3 -'\'', # 0xb4 +'\'', # 0xb4 'u', # 0xb5 'P', # 0xb6 '*', # 0xb7 ',', # 0xb8 '1', # 0xb9 'o', # 0xba -'>>', # 0xbb +'>>', # 0xbb ' 1/4', # 0xbc ' 1/2', # 0xbd ' 3/4', # 0xbe @@ -89,7 +89,7 @@ data = ( 'A', # 0xc4 'A', # 0xc5 -'AE', # 0xc6 +'AE', # 0xc6 'C', # 0xc7 'E', # 0xc8 'E', # 0xc9 @@ -119,8 +119,8 @@ data = ( 'U', # 0xdc 'Y', # 0xdd -'Th', # 0xde -'ss', # 0xdf +'Th', # 0xde +'ss', # 0xdf 'a', # 0xe0 'a', # 0xe1 'a', # 0xe2 @@ -130,7 +130,7 @@ data = ( 'a', # 0xe4 'a', # 0xe5 -'ae', # 0xe6 +'ae', # 0xe6 'c', # 0xe7 'e', # 0xe8 'e', # 0xe9 @@ -160,6 +160,6 @@ data = ( 'u', # 0xfc 'y', # 0xfd -'th', # 0xfe +'th', # 0xfe 'y', # 0xff ) diff --git a/Src/Lib/Unidecode/x020.py b/Src/Lib/Unidecode/x020.py new file mode 100644 index 0000000..60ff961 --- /dev/null +++ b/Src/Lib/Unidecode/x020.py @@ -0,0 +1,261 @@ +data = ( +' ', # 0x00 +' ', # 0x01 +' ', # 0x02 +' ', # 0x03 +' ', # 0x04 +' ', # 0x05 +' ', # 0x06 +' ', # 0x07 +' ', # 0x08 +' ', # 0x09 +' ', # 0x0a +' ', # 0x0b +'', # 0x0c +'', # 0x0d +'', # 0x0e +'', # 0x0f +'-', # 0x10 +'-', # 0x11 +'-', # 0x12 +'-', # 0x13 +'--', # 0x14 +'--', # 0x15 +'||', # 0x16 +'_', # 0x17 +'\'', # 0x18 +'\'', # 0x19 +',', # 0x1a +'\'', # 0x1b +'"', # 0x1c +'"', # 0x1d +',,', # 0x1e +'"', # 0x1f +'+', # 0x20 +'++', # 0x21 +'*', # 0x22 +'*>', # 0x23 +'.', # 0x24 +'..', # 0x25 +'...', # 0x26 +'.', # 0x27 +'\x0a', # 0x28 +'\x0a\x0a', # 0x29 +'', # 0x2a +'', # 0x2b +'', # 0x2c +'', # 0x2d +'', # 0x2e +' ', # 0x2f +'%0', # 0x30 +'%00', # 0x31 +'\'', # 0x32 +'\'\'', # 0x33 +'\'\'\'', # 0x34 +'`', # 0x35 +'``', # 0x36 +'```', # 0x37 +'^', # 0x38 +'<', # 0x39 +'>', # 0x3a +'*', # 0x3b +'!!', # 0x3c +'!?', # 0x3d +'-', # 0x3e +'_', # 0x3f +'-', # 0x40 +'^', # 0x41 +'***', # 0x42 +'--', # 0x43 +'/', # 0x44 +'-[', # 0x45 +']-', # 0x46 +'??', # 0x47 +'?!', # 0x48 +'!?', # 0x49 + +# Tironian note standing for Latin "et". Still used as an ampersand +# in modern Irish. See https://github.com/avian2/unidecode/issues/57 +'&', # 0x4a + +'PP', # 0x4b +'(]', # 0x4c +'[)', # 0x4d +'*', # 0x4e +None, # 0x4f +None, # 0x50 +None, # 0x51 +'%', # 0x52 +'~', # 0x53 +None, # 0x54 +None, # 0x55 +None, # 0x56 +"''''", # 0x57 +None, # 0x58 +None, # 0x59 +None, # 0x5a +None, # 0x5b +None, # 0x5c +None, # 0x5d +None, # 0x5e +' ', # 0x5f +'', # 0x60 +None, # 0x61 +None, # 0x62 +None, # 0x63 +None, # 0x64 +None, # 0x65 +None, # 0x66 +None, # 0x67 +None, # 0x68 +None, # 0x69 +'', # 0x6a +'', # 0x6b +'', # 0x6c +'', # 0x6d +'', # 0x6e +'', # 0x6f +'0', # 0x70 +'i', # 0x71 +'', # 0x72 +'', # 0x73 +'4', # 0x74 +'5', # 0x75 +'6', # 0x76 +'7', # 0x77 +'8', # 0x78 +'9', # 0x79 +'+', # 0x7a +'-', # 0x7b +'=', # 0x7c +'(', # 0x7d +')', # 0x7e +'n', # 0x7f +'0', # 0x80 +'1', # 0x81 +'2', # 0x82 +'3', # 0x83 +'4', # 0x84 +'5', # 0x85 +'6', # 0x86 +'7', # 0x87 +'8', # 0x88 +'9', # 0x89 +'+', # 0x8a +'-', # 0x8b +'=', # 0x8c +'(', # 0x8d +')', # 0x8e +None, # 0x8f +'a', # 0x90 +'e', # 0x91 +'o', # 0x92 +'x', # 0x93 +None, # 0x94 +'h', # 0x95 +'k', # 0x96 +'l', # 0x97 +'m', # 0x98 +'n', # 0x99 +'p', # 0x9a +'s', # 0x9b +'t', # 0x9c +None, # 0x9d +None, # 0x9e +None, # 0x9f +'ECU', # 0xa0 +'CL', # 0xa1 +'Cr', # 0xa2 +'FF', # 0xa3 +'L', # 0xa4 +'mil', # 0xa5 +'N', # 0xa6 +'Pts', # 0xa7 +'Rs', # 0xa8 +'W', # 0xa9 +'NS', # 0xaa +'D', # 0xab +'EUR', # 0xac +'K', # 0xad +'T', # 0xae +'Dr', # 0xaf +'Pf', # 0xb0 +'P', # 0xb1 +'G', # 0xb2 +'A', # 0xb3 +'UAH', # 0xb4 +'C|', # 0xb5 +'L', # 0xb6 +'Sm', # 0xb7 +'T', # 0xb8 +'Rs', # 0xb9 +'L', # 0xba +'M', # 0xbb +'m', # 0xbc +'R', # 0xbd +'l', # 0xbe +'BTC', # 0xbf +None, # 0xc0 +None, # 0xc1 +None, # 0xc2 +None, # 0xc3 +None, # 0xc4 +None, # 0xc5 +None, # 0xc6 +None, # 0xc7 +None, # 0xc8 +None, # 0xc9 +None, # 0xca +None, # 0xcb +None, # 0xcc +None, # 0xcd +None, # 0xce +None, # 0xcf +'', # 0xd0 +'', # 0xd1 +'', # 0xd2 +'', # 0xd3 +'', # 0xd4 +'', # 0xd5 +'', # 0xd6 +'', # 0xd7 +'', # 0xd8 +'', # 0xd9 +'', # 0xda +'', # 0xdb +'', # 0xdc +'', # 0xdd +'', # 0xde +'', # 0xdf +'', # 0xe0 +'', # 0xe1 +'', # 0xe2 +'', # 0xe3 +None, # 0xe4 +'', # 0xe5 +None, # 0xe6 +None, # 0xe7 +None, # 0xe8 +None, # 0xe9 +None, # 0xea +None, # 0xeb +None, # 0xec +None, # 0xed +None, # 0xee +None, # 0xef +None, # 0xf0 +None, # 0xf1 +None, # 0xf2 +None, # 0xf3 +None, # 0xf4 +None, # 0xf5 +None, # 0xf6 +None, # 0xf7 +None, # 0xf8 +None, # 0xf9 +None, # 0xfa +None, # 0xfb +None, # 0xfc +None, # 0xfd +None, # 0xfe +)