コード例 #1
0
ファイル: generate.py プロジェクト: feeling/pytools
def __generate_as_write_data_item_single_field(item_field, name='',tabs_num=0):
    if not name:
        name = item_field.name
    name = convertFieldName(name)
    blank = '    '
    blank *= tabs_num
    rev = as_write_dict.get(item_field.type)%(blank,item_field.description,blank, name)
    return rev
コード例 #2
0
def __generate_as_write_data_item_single_field(item_field,
                                               name='',
                                               tabs_num=0):
    if not name:
        name = item_field.name
    name = convertFieldName(name)
    blank = '    '
    blank *= tabs_num
    rev = as_write_dict.get(
        item_field.type) % (blank, item_field.description, blank, name)
    return rev
コード例 #3
0
ファイル: generate.py プロジェクト: feeling/pytools
def __generate_as_write_data_item_array(item_array, name='',tabs_num=0):
    field = item_array.item_list[0]
    if not name:
        name = item_array.name
    name = convertFieldName(name)
    blank = '    '
    blank *= tabs_num
    rev = '    %s//%s\n    %sfor(var %sIndex:int=0; %sIndex < %s.length; %sIndex++) {\n%s'\
            %(blank, item_array.description,blank, name, name, name, name, blank )
    rev += __generate_as_write_data_item_single_field(field, '', tabs_num + 1)
    rev += '    %s}\n'%blank
    return rev
コード例 #4
0
def __generate_as_write_data_item_array(item_array, name='', tabs_num=0):
    field = item_array.item_list[0]
    if not name:
        name = item_array.name
    name = convertFieldName(name)
    blank = '    '
    blank *= tabs_num
    rev = '    %s//%s\n    %sfor(var %sIndex:int=0; %sIndex < %s.length; %sIndex++) {\n%s'\
            %(blank, item_array.description,blank, name, name, name, name, blank )
    rev += __generate_as_write_data_item_single_field(field, '', tabs_num + 1)
    rev += '    %s}\n' % blank
    return rev
コード例 #5
0
ファイル: generate.py プロジェクト: feeling/pytools
def __generate_as_read_data_item_list(item_list, name='',tabs_num=0):
    rev = ''
    field = item_list.item_list[0]
    if not name:
        name = item_list.name
    name = convertFieldName(name)
    blank = '    '
    blank *=tabs_num
    rev = '    %s//%s\n    %svar %sLength:uint=bytes.readUnsignedShort(); \n    %sfor(var %sIndex:int=0; %sIndex < %sLength; %sIndex++) {\n'\
            %(blank, item_list.description,blank, name, blank,name, name, name, name )
    rev += __generate_as_read_data_item_complex_field(field, '', tabs_num+1)
    rev += '    %s}\n'%blank
    return rev
コード例 #6
0
def __generate_as_read_data_item_list(item_list, name='', tabs_num=0):
    rev = ''
    field = item_list.item_list[0]
    if not name:
        name = item_list.name
    name = convertFieldName(name)
    blank = '    '
    blank *= tabs_num
    rev = '    %s//%s\n    %svar %sLength:uint=bytes.readUnsignedShort(); \n    %sfor(var %sIndex:int=0; %sIndex < %sLength; %sIndex++) {\n'\
            %(blank, item_list.description,blank, name, blank,name, name, name, name )
    rev += __generate_as_read_data_item_complex_field(field, '', tabs_num + 1)
    rev += '    %s}\n' % blank
    return rev
コード例 #7
0
def __generate_as_write_data_item_complex_field(item_field,
                                                name='',
                                                tabs_num=0):
    rev = ''
    blank = '    '
    blank *= tabs_num
    rev += '\n    %s//TODO 写入类型为%s 对象%s,自己构造相关对象提供数据写入,或者替换相关变量!!!\n' % (
        blank, convertClassName(item_field.name), convertFieldName(name))

    for k, v in item_field.field_dict.iteritems():
        if isinstance(v, ProtocolDataItemArray):
            rev += __generate_as_write_data_item_array(v, k, tabs_num)
        elif isinstance(v, ProtocolDataItemList):
            rev += __generate_as_write_data_item_list(v, k, tabs_num)
        elif isinstance(v, ProtocolDataItemSingelField):
            rev += __generate_as_write_data_item_single_field(v, k, tabs_num)
        elif isinstance(v, ProtocolDataItemComplexField):
            rev += __generate_as_write_data_item_complex_field(v, k, tabs_num)
    return rev
コード例 #8
0
ファイル: generate.py プロジェクト: feeling/pytools
def __generate_as_write_data_item_complex_field(item_field, name ='',tabs_num=0):
    rev = ''
    blank = '    '
    blank *= tabs_num
    rev += '\n    %s//TODO 写入类型为%s 对象%s,自己构造相关对象提供数据写入,或者替换相关变量!!!\n'%(blank, convertClassName(item_field.name), convertFieldName(name))
    
    for k, v in item_field.field_dict.iteritems():
        if isinstance(v, ProtocolDataItemArray):
            rev +=__generate_as_write_data_item_array(v, k, tabs_num)
        elif isinstance(v, ProtocolDataItemList):
            rev +=__generate_as_write_data_item_list(v, k, tabs_num)
        elif isinstance(v, ProtocolDataItemSingelField):
            rev +=__generate_as_write_data_item_single_field(v, k, tabs_num)
        elif isinstance(v, ProtocolDataItemComplexField):
            rev +=__generate_as_write_data_item_complex_field(v, k, tabs_num)
    return rev