mirror of
https://gitlab.freedesktop.org/uchardet/uchardet.git
synced 2025-12-07 17:26:41 +08:00
script: improve a bit create-table.py and regenerate the Georgian charsets.
- Avoid trailing whitespaces. - Print which tool and version were used for the generation (to help for future debugging in case of discrepancies between versions or implementations).
This commit is contained in:
parent
7875272a8c
commit
bdd71d88f8
@ -50,7 +50,8 @@ language = \
|
|||||||
'incomplete': []
|
'incomplete': []
|
||||||
}
|
}
|
||||||
|
|
||||||
## Table generated by script/create-table.py with iconv ##
|
## Table generated by script/create-table.py with: ##
|
||||||
|
## iconv (Debian GLIBC 2.31-13+deb11u5) 2.31 ##
|
||||||
# X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 XA XB XC XD XE XF #
|
# X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 XA XB XC XD XE XF #
|
||||||
charmap = \
|
charmap = \
|
||||||
[
|
[
|
||||||
|
|||||||
@ -50,7 +50,8 @@ language = \
|
|||||||
'incomplete': []
|
'incomplete': []
|
||||||
}
|
}
|
||||||
|
|
||||||
## Table generated by script/create-table.py with iconv ##
|
## Table generated by script/create-table.py with: ##
|
||||||
|
## iconv (Debian GLIBC 2.31-13+deb11u5) 2.31 ##
|
||||||
# X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 XA XB XC XD XE XF #
|
# X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 XA XB XC XD XE XF #
|
||||||
charmap = \
|
charmap = \
|
||||||
[
|
[
|
||||||
|
|||||||
@ -60,8 +60,22 @@ charset = charset[0]
|
|||||||
use_iconv = False
|
use_iconv = False
|
||||||
try:
|
try:
|
||||||
b' '.decode(charset)
|
b' '.decode(charset)
|
||||||
|
dec_version = 'Python {}'.format(sys.version).splitlines()[0]
|
||||||
except LookupError:
|
except LookupError:
|
||||||
use_iconv = True
|
use_iconv = True
|
||||||
|
try:
|
||||||
|
call = subprocess.Popen(['iconv', '--version'],
|
||||||
|
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
|
||||||
|
stderr=subprocess.DEVNULL)
|
||||||
|
if call.poll() is not None:
|
||||||
|
(_, error) = call.communicate(input='')
|
||||||
|
sys.stderr.write('Error: `iconv` ended with error "{}".\n'.format(error))
|
||||||
|
exit(1)
|
||||||
|
(dec_version, _) = call.communicate(input='')
|
||||||
|
dec_version = dec_version.decode('UTF-8').splitlines()[0]
|
||||||
|
except FileNotFoundError:
|
||||||
|
sys.stderr.write('Error: `iconv` is not installed.\n')
|
||||||
|
exit(1)
|
||||||
|
|
||||||
def get_utf8_char(bchar, charset, iconv):
|
def get_utf8_char(bchar, charset, iconv):
|
||||||
if iconv:
|
if iconv:
|
||||||
@ -90,7 +104,8 @@ def get_utf8_char(bchar, charset, iconv):
|
|||||||
# It would mean an illegal character.
|
# It would mean an illegal character.
|
||||||
return None
|
return None
|
||||||
|
|
||||||
print('## Table generated by {} with {} ##'.format(script_path, 'iconv' if use_iconv else 'Python decode()'))
|
print('## Table generated by {} with: ##'.format(script_path))
|
||||||
|
print('## {} ##'.format(dec_version))
|
||||||
|
|
||||||
print('# X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 XA XB XC XD XE XF #')
|
print('# X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 XA XB XC XD XE XF #')
|
||||||
print('charmap = \\')
|
print('charmap = \\')
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user