Example #1
0
    def test_deepgetattr(self):
        class a:
            l = []

        self.assertTrue(deepgetattr(a, 'l.__len__.__call__'),
                        a.l.__len__.__call__)
        self.assertTrue(deepgetattr(a, 'l.__nx__.__x__', 42), 42)
        self.assertRaises(AttributeError,
                          lambda: deepgetattr(a, 'l.__nx__.__x__'))
Example #2
0
 def test_deepgetattr(self):
     class a:
         l = []
     self.assertTrue(deepgetattr(a, 'l.__len__.__call__'), a.l.__len__.__call__)
     self.assertTrue(deepgetattr(a, 'l.__nx__.__x__', 42), 42)
     self.assertRaises(AttributeError, lambda: deepgetattr(a, 'l.__nx__.__x__'))
Example #3
0
def getdeepattr(obj, attr, *arg, **kwarg):
    if isinstance(obj, dict):
        return obj.get(attr)
    return deepgetattr(obj, attr, *arg, **kwarg)
Example #4
0
def getdeepattr(obj, attr, *arg, **kwarg):
    if isinstance(obj, dict):
        return obj.get(attr)
    return deepgetattr(obj, attr, *arg, **kwarg)