comparison piecrust/data/base.py @ 432:3aa174a7f3cf

reporting: Better error messages for incorrect property access on data.
author Ludovic Chabant <ludovic@chabant.com>
date Sat, 27 Jun 2015 21:46:56 -0700
parents 21e26ed867b6
children 5be275137056
comparison
equal deleted inserted replaced
431:bdeeee777f85 432:3aa174a7f3cf
42 return None 42 return None
43 43
44 def __getattr__(self, name): 44 def __getattr__(self, name):
45 try: 45 try:
46 return self._getValue(name) 46 return self._getValue(name)
47 except LazyPageConfigLoaderHasNoValue: 47 except LazyPageConfigLoaderHasNoValue as ex:
48 raise AttributeError 48 raise AttributeError("No such attribute: %s" % name) from ex
49 49
50 def __getitem__(self, name): 50 def __getitem__(self, name):
51 try: 51 try:
52 return self._getValue(name) 52 return self._getValue(name)
53 except LazyPageConfigLoaderHasNoValue: 53 except LazyPageConfigLoaderHasNoValue as ex:
54 raise KeyError 54 raise KeyError("No such key: %s" % name) from ex
55 55
56 def _getValue(self, name): 56 def _getValue(self, name):
57 self._load() 57 self._load()
58 58
59 if name in self._values: 59 if name in self._values: