MCPcopy Create free account
hub / github.com/comaps/comaps / read_multilang

Function read_multilang

tools/python/mwm/mwm_python.py:365–407  ·  view source on GitHub ↗
(f)

Source from the content-addressed store, hash-verified

363
364
365def read_multilang(f) -> Dict[str, str]:
366 def find_multilang_next(s, i):
367 i += 1
368 while i < len(s):
369 try:
370 c = ord(s[i])
371 except:
372 c = s[i]
373 if c & 0xC0 == 0x80:
374 break
375 if c & 0x80 == 0:
376 pass
377 elif c & 0xFE == 0xFE:
378 i += 6
379 elif c & 0xFC == 0xFC:
380 i += 5
381 elif c & 0xF8 == 0xF8:
382 i += 4
383 elif c & 0xF0 == 0xF0:
384 i += 3
385 elif c & 0xE0 == 0xE0:
386 i += 2
387 elif c & 0xC0 == 0xC0:
388 i += 1
389 i += 1
390 return i
391
392 s = read_string(f, decode=False)
393 langs = {}
394 i = 0
395 while i < len(s):
396 n = find_multilang_next(s, i)
397 try:
398 lng = ord(s[i]) & 0x3F
399 except TypeError:
400 lng = s[i] & 0x3F
401 if lng < len(mi.LANGS):
402 try:
403 langs[mi.LANGS[lng]] = s[i + 1: n].decode("utf-8")
404 except:
405 print(s[i + 1: n])
406 i = n
407 return langs
408
409
410def mwm_unshuffle(x: int) -> int:

Callers 1

__init__Method · 0.85

Calls 2

read_stringFunction · 0.85
find_multilang_nextFunction · 0.85

Tested by

no test coverage detected