MCPcopy Create free account
hub / github.com/catboost/catboost / _convert_deep

Function _convert_deep

library/python/strings/strings.py:68–82  ·  view source on GitHub ↗
(x, enc, convert, relaxed=True)

Source from the content-addressed store, hash-verified

66
67
68def _convert_deep(x, enc, convert, relaxed=True):
69 if x is None:
70 return None
71 if isinstance(x, (six.text_type, six.binary_type)):
72 return convert(x, enc)
73 if isinstance(x, dict):
74 return {convert(k, enc): _convert_deep(v, enc, convert, relaxed) for k, v in six.iteritems(x)}
75 if isinstance(x, list):
76 return [_convert_deep(e, enc, convert, relaxed) for e in x]
77 if isinstance(x, tuple):
78 return tuple([_convert_deep(e, enc, convert, relaxed) for e in x])
79
80 if relaxed:
81 return x
82 raise TypeError('unsupported type')
83
84
85# Result as from six.ensure_text

Callers 3

unicodize_deepFunction · 0.85
ensure_str_deepFunction · 0.85
stringize_deepFunction · 0.85

Calls 4

isinstanceFunction · 0.85
convertFunction · 0.50
tupleClass · 0.50
iteritemsMethod · 0.45

Tested by

no test coverage detected