Exemple #1
0
 def _merge_serde(serdes, dft=None):
     """ 内部函数 """
     ret = {}
     for sd in serdes:
         if not isinstance(serde.origin(sd), FieldsDictSerde):
             return dft
         for field, field_serde in serde.origin(sd)._fields_to_types.iteritems():
             ret[field] = field_serde
     return of(ret)
Exemple #2
0
 def _merge_serde(serdes, dft=None):
     """ 内部函数 """
     ret = {}
     for sd in serdes:
         if not isinstance(serde.origin(sd), FieldsDictSerde):
             return dft
         for field, field_serde in serde.origin(
                 sd)._fields_to_types.iteritems():
             ret[field] = field_serde
     return of(ret)
Exemple #3
0
def sort(pvalue, reverse=False):
    """ sort """

    if isinstance(serde.origin(pvalue.serde()), serde.StrSerde):
        return _sort_str(pvalue, reverse)

    return sort_by(pvalue, None, reverse)
Exemple #4
0
def sort(pvalue, reverse=False):
    """ sort """

    if isinstance(serde.origin(pvalue.serde()), serde.StrSerde):
        return _sort_str(pvalue, reverse)

    return sort_by(pvalue, None, reverse)
Exemple #5
0
def get_serde_of_field(sd, field, default=None):
    """ get serde of field """
    if isinstance(sd, FieldsDictSerde):
        return serde.of(serde.origin(sd._tuple_serde)[sd._fields.index(field)])
    return default
Exemple #6
0
def get_out_fields_serde(tpserde, out_fields):
    """ 内部函数 """
    tpserde = serde.origin(tpserde)
    tpserde = map(lambda sd: serde.Optional(sd), tpserde)
    assert len(tpserde) == len(out_fields)
    return of(dict(zip(out_fields, tpserde)))
Exemple #7
0
def _get_serde_of_field(sd, field, dft=None):
    """ 内部函数 """
    if isinstance(sd, FieldsDictSerde):
        return serde.of(serde.origin(sd._tuple_serde)[sd._fields.index(field)])
    return dft
Exemple #8
0
def _get_serde_of_field(sd, field, dft=None):
    """ 内部函数 """
    if isinstance(sd, FieldsDictSerde):
        return serde.of(serde.origin(sd._tuple_serde)[sd._fields.index(field)])
    return dft
Exemple #9
0
def _get_out_fields_serde(tpserde, out_fields):
    """ 内部函数 """
    tpserde = serde.origin(tpserde)
    tpserde = map(lambda sd: serde.Optional(sd), tpserde)
    assert len(tpserde) == len(out_fields)
    return of(dict(zip(out_fields, tpserde)))
Exemple #10
0
def get_serde_of_field(sd, field, default=None):
    """ get serde of field """
    if isinstance(sd, FieldsDictSerde):
        return serde.of(serde.origin(sd._tuple_serde)[sd._fields.index(field)])
    return default