本文整理匯總了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))