Create the ProxyError Exception. Raise it when an unproxy
operation fails because information is wrong or not available. --HG-- extra : convert_revision : 1fd90c1291618b09752179cfa6894f1df495fffd
This commit is contained in:
parent
adf47c95b0
commit
45ecb2b69e
|
@ -27,6 +27,9 @@
|
|||
from __future__ import division
|
||||
import operator, re, types
|
||||
|
||||
class ProxyError(Exception):
|
||||
pass
|
||||
|
||||
def unproxy(proxy):
|
||||
if hasattr(proxy, '__unproxy__'):
|
||||
return proxy.__unproxy__()
|
||||
|
@ -336,7 +339,12 @@ class AttrProxy(Proxy):
|
|||
self.attr = attr
|
||||
|
||||
def __unproxy__(self):
|
||||
return unproxy(getattr(unproxy(self.proxy), self.attr))
|
||||
proxy = unproxy(self.proxy)
|
||||
try:
|
||||
attr = getattr(proxy, self.attr)
|
||||
except AttributeError, e:
|
||||
raise ProxyError, e
|
||||
return unproxy(attr)
|
||||
|
||||
def __str__(self):
|
||||
return '%s.%s' % (self.proxy, self.attr)
|
||||
|
|
Loading…
Reference in a new issue