Create a dict given a list of key/value pairs
(response, decode_keys=False, decode_string_values=False)
| 312 | |
| 313 | |
| 314 | def pairs_to_dict(response, decode_keys=False, decode_string_values=False): |
| 315 | """Create a dict given a list of key/value pairs""" |
| 316 | if response is None: |
| 317 | return {} |
| 318 | if decode_keys or decode_string_values: |
| 319 | # the iter form is faster, but I don't know how to make that work |
| 320 | # with a str_if_bytes() map |
| 321 | keys = response[::2] |
| 322 | if decode_keys: |
| 323 | keys = map(str_if_bytes, keys) |
| 324 | values = response[1::2] |
| 325 | if decode_string_values: |
| 326 | values = map(str_if_bytes, values) |
| 327 | return dict(zip(keys, values)) |
| 328 | else: |
| 329 | it = iter(response) |
| 330 | return dict(zip(it, it)) |
| 331 | |
| 332 | |
| 333 | def pairs_to_dict_typed(response, type_info): |
no outgoing calls
no test coverage detected