Exemple #1
0
    'N': lambda x: (x + 2) // 2,
    'NC': lambda x: x * 2,
    'NVC': lambda x: x * 2 + 2,
    'RV': lambda x: 16,
    'NT': lambda x: 8,
    'I': lambda x: 8,
    'DT': lambda x: 7,
}


"""
Функции преобразования значений из двоичных, f - параметры типа, x - дв. данные значения
"""
types_fun = {
    'GUID': lambda f, x:  Guid(x),
    'B': lambda f, x: utils.b2s(x),
    'L': lambda f, x: x[0] == 1,
    'N': lambda f, x: utils.bytes_to_int(f, x),
    'NC': lambda f, x: x.decode('utf-16'),
    'NVC': lambda f, x: x[2:2 + 2 * utils.read_struct(x[:2], 'h')[0]].decode('utf-16'),
    'RV': lambda f, x: utils.read_struct(x, '4I'),
    'NT': lambda f, x: utils.read_struct(x, '2I'),
    'I': lambda f, x: utils.read_struct(x, '2I'),
    'DT': lambda f, x: utils.b2s(x) if x[4:6] == b'\x00\x00' else datetime.strptime(utils.b2s(x), '%Y%m%d%H%M%S')
}


class FieldDesc:
    """
    Описание поля таблицы
    """
Exemple #2
0
    'N': lambda x: (x + 2) // 2,
    'NC': lambda x: x * 2,
    'NVC': lambda x: x * 2 + 2,
    'RV': lambda x: 16,
    'NT': lambda x: 8,
    'I': lambda x: 8,
    'DT': lambda x: 7,
}


"""
Функции преобразования значений из двоичных, f - параметры типа, x - дв. данные значения
"""
types_fun = {
    'GUID': lambda f, x:  Guid(x),
    'B': lambda f, x: utils.b2s(x),
    'L': lambda f, x: x[0] == 1,
    'N': lambda f, x: utils.bytes_to_int(f, x),
    'NC': lambda f, x: x.decode('utf-16'),
    'NVC': lambda f, x: x[2:2 + 2 * utils.read_struct(x[:2], 'h')[0]].decode('utf-16'),
    'RV': lambda f, x: utils.read_struct(x, '4I'),
    'NT': lambda f, x: utils.read_struct(x, '2I'),
    'I': lambda f, x: utils.read_struct(x, '2I'),
    'DT': lambda f, x: utils.bytes_to_datetime(f, x)
}


class FieldDesc:
    """
    Описание поля таблицы
    """
Exemple #3
0
    'N': lambda x: (x + 2) // 2,
    'NC': lambda x: x * 2,
    'NVC': lambda x: x * 2 + 2,
    'RV': lambda x: 16,
    'NT': lambda x: 8,
    'I': lambda x: 8,
    'DT': lambda x: 7,
}
"""
Функции преобразования значений из двоичных, f - параметры типа, x - дв. данные значения
"""
types_fun = {
    'GUID':
    lambda f, x: Guid(x),
    'B':
    lambda f, x: utils.b2s(x),
    'L':
    lambda f, x: x[0] == 1,
    'N':
    lambda f, x: utils.bytes_to_int(f, x),
    'NC':
    lambda f, x: x.decode('utf-16'),
    'NVC':
    lambda f, x: x[2:2 + 2 * utils.read_struct(x[:2], 'h')[0]].decode('utf-16'
                                                                      ),
    'RV':
    lambda f, x: utils.read_struct(x, '4I'),
    'NT':
    lambda f, x: utils.read_struct(x, '2I'),
    'I':
    lambda f, x: utils.read_struct(x, '2I'),
Exemple #4
0
 def __str__(self):
     return utils.bytes_to_guid(self.data) if utils.BYTES16_AS_GUID else utils.b2s(self.data)