Update _generate_st1_sa func
tgt_header_chunk_size_str= "ChunkSize"
tgt_header_crc_str = "CRC32"
tgt_header_chunk_size_str= "ChunkSize"
tgt_header_crc_str = "CRC32"
+# syllable array definition
+tgt_sa_seperator = "," # symbol between syllable word
+tgt_sa_delimitor = ":" # symbol between key and value
+
# Chunk Table offset
tgt_ctable_flag_offset = 0
tgt_ctable_flag_fld_siz = 2 # bytes
# Chunk Table offset
tgt_ctable_flag_offset = 0
tgt_ctable_flag_fld_siz = 2 # bytes
tgt_ctable_chk_size_fld_size = 2
# Internal function definition
tgt_ctable_chk_size_fld_size = 2
# Internal function definition
-def generate_header(fn, ver, authors, actf, ctao, ctbo, csize):
+def _generate_header(fn, ver, authors, actf, ctao, ctbo, csize):
'''Generate target file header.
@param fn: file name
@param ver: dictionary version
'''Generate target file header.
@param fn: file name
@param ver: dictionary version
header += tgt_header_version_str + tgt_header_delemitor_str + csize + tgt_delimitor
header += tgt_header_version_str + tgt_header_delemitor_str + crc32
header += tgt_header_version_str + tgt_header_delemitor_str + csize + tgt_delimitor
header += tgt_header_version_str + tgt_header_delemitor_str + crc32
- PRINT(generate_header.__doc__)
+ PRINT(_generate_header.__doc__)
-def generate_st1():
- '''Generate static table 1.
- '''
- PRINT(generate_st1.__doc__)
+def _generate_st1_sa(safile):
+ '''Generate static table 1 - Syllabale Array.'''
+ dict_obj = {}
+
+ saf = file(safile)
+ if (saf == None):
+ return
+
+ for line in saf:
+ PRINT(line)
+ # format is {"key1:value1","key2:value2",...,null}
+ sal = saf.split(tgt_sa_seperator)
+ for item in sal:
+ # format is {key:value}
+ if (item != None):
+ dict_obj[item.split(tgt_sa_delimitor)[0]] = item.split(tgt_sa_delimitor)[1]
+
+ PRINT(dict_obj)
+ PRINT(_generate_st1_sa.__doc__)
-def generate_st2():
- '''Generate static table 2.
- '''
- PRINT(generate_st2.__doc__)
+def _generate_st2_cst(cstfile):
+ '''Generate static table 2 - Character-Syllable ID Pair Table.'''
+ PRINT(_generate_st2_cst.__doc__)
-def generate_ctable_a():
+def _generate_ctable_a():
'''Chunk Table A generation.
Example chunk table:
0------------2------------4--------6--------8------10-------12-------14----16
| Table flag | Chunk Base | Acroyn | Offset | Size | Acroyn | Offset | Size |
'''
'''Chunk Table A generation.
Example chunk table:
0------------2------------4--------6--------8------10-------12-------14----16
| Table flag | Chunk Base | Acroyn | Offset | Size | Acroyn | Offset | Size |
'''
- PRINT(generate_ctable_a.__doc__)
+ PRINT(_generate_ctable_a.__doc__)
-def generate_ctable_b():
+# FIXME: chunk table B holds the same contents with A in file storage?
+def _generate_ctable_b():
'''Chunk Table B generation.
Example chunk table:
0------------2------------4--------6--------8------10-------12-------14----16
| Table flag | Chunk Base | Acroyn | Offset | Size | Acroyn | Offset | Size |
'''
'''Chunk Table B generation.
Example chunk table:
0------------2------------4--------6--------8------10-------12-------14----16
| Table flag | Chunk Base | Acroyn | Offset | Size | Acroyn | Offset | Size |
'''
- PRINT(generate_ctable_b.__doc__)
+ PRINT(_generate_ctable_b.__doc__)
-def generate_dictionary():
+def _generate_dictionary():
- Normally, target data file have 2 dictionary map for data integrity. The
- active map is used for memory holding, and reflash the inactivie map under
- some mechanism.
+ Normally, target data file have only one dictionary map. Data integrity is
+ guaranteed by a temp chunk at runtime.
- PRINT(generate_dictionary.__doc__)
+ PRINT(_generate_dictionary.__doc__)
def gen_dummy_dict_binmap():
def gen_dummy_dict_binmap():
- '''Generate dummy dictionary bin map.
+ '''Generate dummy dictionary bin map.'''
- '''
- generate_header("dictionary.bin", "0.2", "Jackson", "A", 300, 400, 65535);
+ _generate_header("dictionary.bin", "0.2", "Jackson", "A", 300, 400, 65535)
+ _generate_st1_sa("SyllableArraySource.txt")
PRINT(gen_dummy_dict_binmap.__doc__)
def convert(src, dest):
PRINT(gen_dummy_dict_binmap.__doc__)
def convert(src, dest):