本文整理汇总了Python中normalize.FieldSelector.get_or_none方法的典型用法代码示例。如果您正苦于以下问题:Python FieldSelector.get_or_none方法的具体用法?Python FieldSelector.get_or_none怎么用?Python FieldSelector.get_or_none使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类normalize.FieldSelector
的用法示例。
在下文中一共展示了FieldSelector.get_or_none方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_get
# 需要导入模块: from normalize import FieldSelector [as 别名]
# 或者: from normalize.FieldSelector import get_or_none [as 别名]
def test_get(self):
record = MockJsonRecord(
{
"age": 5,
"children": [{"name": "foo"}, {"name": "bar"}],
"name": "case1",
}
)
# test valid field selectors
fs = FieldSelector(["name"])
self.assertEqual(fs.get(record), "case1")
fs = FieldSelector(["age"])
self.assertEqual(fs.get(record), 5)
fs = FieldSelector(["children"])
self.assertEqual(len(fs.get(record)), 2)
fs = FieldSelector(["children", 1])
self.assertEqual(fs.get(record).name, "bar")
self.assertEqual(fs.get(record), MockChildRecord({"name": "bar"}))
fs = FieldSelector(["children", 1, "name"])
self.assertEqual(fs.get(record), "bar")
fs = FieldSelector(["children", None, "name"])
self.assertEqual(fs.get(record), ["foo", "bar"])
# test invalid selectors
fs = FieldSelector(["bad_name"]) # bad property name
with self.assertRaisesRegexp(
FieldSelectorException, "Could not find property specified "
"by name: bad_name"
):
fs.get(record)
self.assertIsNone(fs.get_or_none(record))
fs = FieldSelector(["children", 10]) # bad index
with self.assertRaisesRegexp(
FieldSelectorException, "Could not find Record specified by "
"index: 10"
):
fs.get(record)
self.assertIsNone(fs.get_or_none(record))
# bad nested property name
fs = FieldSelector(["children", 1, "bad_name"])
with self.assertRaisesRegexp(
FieldSelectorException, "Could not find property specified "
"by name: bad_name"
):
fs.get(record)
self.assertIsNone(fs.get_or_none(record))
# bad property name
fs = FieldSelector(["bad_name"])
with self.assertRaises(AttributeError):
fs.get(record)
self.assertIsNone(fs.get_or_none(record))
# bad index
fs = FieldSelector(["children", 10])
with self.assertRaises(KeyError):
fs.get(record)
# bad nested property name
fs = FieldSelector(
["children", 1, "bad_name"],
)
with self.assertRaises(AttributeError):
fs.get(record)
self.assertIsNone(fs.get_or_none(record))