2022-01-30 03:39:54 +08:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
2022-02-05 01:55:23 +08:00
|
|
|
import re
|
2022-01-30 03:39:54 +08:00
|
|
|
import os
|
|
|
|
import glob
|
|
|
|
from tabnanny import check
|
|
|
|
|
|
|
|
def main():
|
|
|
|
print('export const LANGS = {')
|
2022-05-12 18:31:17 +08:00
|
|
|
for fn in glob.glob('../../../src/lang/*'):
|
2022-01-30 03:39:54 +08:00
|
|
|
lang = os.path.basename(fn)[:-3]
|
2022-03-25 18:56:55 +08:00
|
|
|
if lang == 'template': continue
|
2022-01-30 03:39:54 +08:00
|
|
|
print(' %s: {'%lang)
|
|
|
|
for ln in open(fn):
|
|
|
|
ln = ln.strip()
|
|
|
|
if ln.startswith('("'):
|
|
|
|
toks = ln.split('", "')
|
|
|
|
assert(len(toks) == 2)
|
|
|
|
a = toks[0][2:]
|
|
|
|
b = toks[1][:-3]
|
|
|
|
print(' "%s": "%s",'%(a, b))
|
|
|
|
print(' },')
|
|
|
|
print('}')
|
|
|
|
check_if_retry = ['', False]
|
|
|
|
KEY_MAP = ['', False]
|
2022-05-14 02:32:02 +08:00
|
|
|
for ln in open('../../../src/client.rs'):
|
2022-01-30 03:39:54 +08:00
|
|
|
ln = ln.strip()
|
|
|
|
if 'check_if_retry' in ln:
|
|
|
|
check_if_retry[1] = True
|
|
|
|
continue
|
|
|
|
if ln.startswith('}') and check_if_retry[1]:
|
|
|
|
check_if_retry[1] = False
|
|
|
|
continue
|
|
|
|
if check_if_retry[1]:
|
2022-02-05 01:55:23 +08:00
|
|
|
ln = removeComment(ln)
|
2022-01-30 03:39:54 +08:00
|
|
|
check_if_retry[0] += ln + '\n'
|
|
|
|
if 'KEY_MAP' in ln:
|
|
|
|
KEY_MAP[1] = True
|
|
|
|
continue
|
|
|
|
if '.collect' in ln and KEY_MAP[1]:
|
|
|
|
KEY_MAP[1] = False
|
|
|
|
continue
|
|
|
|
if KEY_MAP[1] and ln.startswith('('):
|
2022-02-05 01:55:23 +08:00
|
|
|
ln = removeComment(ln)
|
2022-01-30 03:39:54 +08:00
|
|
|
toks = ln.split('", Key::')
|
|
|
|
assert(len(toks) == 2)
|
|
|
|
a = toks[0][2:]
|
|
|
|
b = toks[1].replace('ControlKey(ControlKey::', '').replace("Chr('", '').replace("' as _)),", '').replace(')),', '')
|
|
|
|
KEY_MAP[0] += ' "%s": "%s",\n'%(a, b)
|
|
|
|
print()
|
|
|
|
print('export function checkIfRetry(msgtype: string, title: string, text: string) {')
|
|
|
|
print(' return %s'%check_if_retry[0].replace('to_lowercase', 'toLowerCase').replace('contains', 'indexOf').replace('!', '').replace('")', '") < 0'))
|
|
|
|
print(';}')
|
|
|
|
print()
|
|
|
|
print('export const KEY_MAP: any = {')
|
|
|
|
print(KEY_MAP[0])
|
|
|
|
print('}')
|
2022-05-12 18:31:17 +08:00
|
|
|
for ln in open('../../../Cargo.toml'):
|
2022-01-30 19:48:41 +08:00
|
|
|
if ln.startswith('version ='):
|
|
|
|
print('export const ' + ln)
|
2022-01-30 03:39:54 +08:00
|
|
|
|
|
|
|
|
2022-02-05 01:55:23 +08:00
|
|
|
def removeComment(ln):
|
|
|
|
return re.sub('\s+\/\/.*$', '', ln)
|
2022-01-30 03:39:54 +08:00
|
|
|
|
2022-03-25 18:56:55 +08:00
|
|
|
main()
|