本文整理匯總了Python中normalize.FieldSelector.put方法的典型用法代碼示例。如果您正苦於以下問題:Python FieldSelector.put方法的具體用法?Python FieldSelector.put怎麽用?Python FieldSelector.put使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類normalize.FieldSelector
的用法示例。
在下文中一共展示了FieldSelector.put方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: test_post
# 需要導入模塊: from normalize import FieldSelector [as 別名]
# 或者: from normalize.FieldSelector import put [as 別名]
def test_post(self):
record = MockComplexJsonRecord()
fs = FieldSelector(["name"])
fs.post(record, "Bobby")
self.assertEqual(record.name, "Bobby")
fs = FieldSelector(["children", 0, "name"])
fs.post(record, "Johnny")
self.assertEqual(record.children[0].name, "Johnny")
# Test addition to collection
fs = FieldSelector(["children", 1, "name"])
fs.post(record, "Susan")
self.assertEqual(record.children[1].name, "Susan")
# Test invalid addition to collection
fs = FieldSelector(["children", 9999, "name"])
with self.assertRaisesRegexp(
ValueError, "FieldSelector set out of order"
):
fs.post(record, "Joker")
# Test create of sub-Record
fs = FieldSelector(["nested", "name"])
fs.put(record, "Nested")
self.assertEqual(record.nested.name, "Nested")
示例2: test_delete
# 需要導入模塊: from normalize import FieldSelector [as 別名]
# 或者: from normalize.FieldSelector import put [as 別名]
def test_delete(self):
class MyObj(Record):
foo = Property()
bar = Property()
class OtherObj(Record):
objs = ListProperty(of=MyObj)
mo = MyObj(foo="bar")
fs1 = FieldSelector(["foo"])
self.assertEqual(fs1.get(mo), "bar")
fs1.delete(mo)
self.assertRaises(AttributeError, fs1.get, mo)
oo = OtherObj(objs=[{"foo": "bar"}, {"foo": "frop"}])
fs2 = FieldSelector(["objs", 0, "foo"])
self.assertEqual(fs2.get(oo), "bar")
fs2.delete(oo)
self.assertRaises(AttributeError, fs2.get, mo)
fs2.put(oo, "hey")
fs3 = FieldSelector(["objs", None, "foo"])
self.assertEqual(fs3.get(oo), ["hey", "frop"])
fs3.delete(oo)
self.assertEqual(oo, OtherObj(objs=[{}, {}]))
oo = OtherObj(objs=[{"foo": "baz"}, {"bar": "quux"}])
self.assertEqual(fs3.get(oo), ["baz", None])
fs3.delete(oo)
self.assertEqual(oo, OtherObj(objs=[{}, {"bar": "quux"}]))
fs4 = FieldSelector(["objs", None, "bar", "foo"])
self.assertRaises(FieldSelectorException, fs4.get, oo)
oo = OtherObj(objs=[{"foo": "baz"}, {"bar": MyObj(foo="bob")}])
self.assertEqual(fs4.get(oo), [None, "bob"])
fs4.delete(oo)
self.assertRaises(FieldSelectorException, fs4.get, oo)
fs5 = FieldSelector(["objs", 1])
fs5.delete(oo)
self.assertEqual(oo, OtherObj(objs=[{"foo": "baz"}]))
fs6 = FieldSelector(["objs", None])
fs6.delete(oo)
self.assertEqual(oo, OtherObj(objs=[]))
示例3: test_put
# 需要導入模塊: from normalize import FieldSelector [as 別名]
# 或者: from normalize.FieldSelector import put [as 別名]
def test_put(self):
record = MockJsonRecord()
# Test invalid FieldSelector
fs = FieldSelector(["name"])
fs.put(record, "pass")
# self.assertEqual(record.raw_data, {"children": [], 'name': 'pass'})
record = MockComplexJsonRecord()
# Test creation of attribute
fs = FieldSelector(["name"])
fs.put(record, "Bobby")
self.assertEqual(record.name, "Bobby")
# Test creation of collection and sub-Record
fs = FieldSelector(["children", 0, "name"])
with self.assertRaises(FieldSelectorException):
fs.put(record, "Johnny")