utils.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:stethoscope 作者: Netflix 项目源码 文件源码
def parse_parameters_list(dict_list):
  """

  >>> import arrow
  >>> returned = parse_parameters_list([
  ...   { "name": "accounts:is_2sv_enrolled", "boolValue": False },
  ...   { "name": "accounts:last_name", "stringValue": "Smith" },
  ...   { "name": "accounts:drive_used_quota_in_mb", "intValue": "0" },
  ...   { "name": "accounts:creation_time",
  ...     "datetimeValue": "2010-10-28T10:26:35.000Z" },
  ... ])
  >>> returned == {
  ...   "accounts:is_2sv_enrolled": False,
  ...   "accounts:last_name": "Smith",
  ...   "accounts:drive_used_quota_in_mb": 0,
  ...   "accounts:creation_time": arrow.Arrow(2010, 10, 28, 10, 26, 35),
  ... }
  True

  >>> parse_parameters_list([{ "name": "fakeValue", "otherType": False }])
  Traceback (most recent call last):
    ...
  ValueError: Failed to determine appropriate type for parameter 'fakeValue'

  """

  retval = dict()
  for item_dict in dict_list:
    if 'boolValue' in item_dict:
      value = item_dict['boolValue']
    elif 'intValue' in item_dict:
      value = int(item_dict['intValue'])
    elif 'stringValue' in item_dict:
      value = item_dict['stringValue']
    elif 'datetimeValue' in item_dict:
      value = arrow.get(item_dict['datetimeValue'])
    else:
      raise ValueError("Failed to determine appropriate type for parameter "
                       "{!r}".format(item_dict['name']))
    retval[item_dict['name']] = value
  return retval
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号