diff --git a/VERSION b/VERSION index 903a4ae0..828c58cc 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Version 2.00.0 (2012-08-20 11:16:21) dev +Version 2.00.0 (2012-08-20 11:57:27) dev diff --git a/gluon/storage.py b/gluon/storage.py index c2d467fc..755ceb8e 100644 --- a/gluon/storage.py +++ b/gluon/storage.py @@ -73,14 +73,14 @@ class Storage(object): """ - def __init__(self,d=None,**values): - self.__dict__.update(d or {},**values) - def __getattr__(self,key): + def __init__(self, __d__=None, **values): + self.__dict__.update(__d__ or {},**values) + def __getattr__(self,key): return getattr(self,key) if key in self else None def __getitem__(self,key): - return getattr(self,key) if key in self else None + return self.__dict__.get(key,None) def __setitem__(self,key,value): - setattr(self,key,value) + self.__dict__[key] = value def __delitem__(self,key): delattr(self,key) def __nonzero__(self): @@ -96,6 +96,8 @@ class Storage(object): return '' % self.__dict__ def keys(self): return self.__dict__.keys() + def values(self): + return self.__dict__.values() def items(self): return self.__dict__.items() def __iter__(self): diff --git a/gluon/tools.py b/gluon/tools.py index c7646528..0a9d4b44 100644 --- a/gluon/tools.py +++ b/gluon/tools.py @@ -2641,8 +2641,8 @@ class Auth(object): return form def is_impersonating(self): - return current.session.auth and \ - 'impersonator' in current.session.auth + def is_impersonating(self): + return self.is_logged_in() and 'impersonator' in current.session.auth def impersonate(self, user_id=DEFAULT): """