Add lib unidecode, fix key not exist in codec

This commit is contained in:
Ghost 2024-04-12 23:16:23 +02:00
parent cc96066bc8
commit e90588b302
4 changed files with 315 additions and 52 deletions

View File

@ -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):

View File

@ -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

View File

@ -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
)

261
Src/Lib/Unidecode/x020.py Normal file
View File

@ -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
)