mirror of
https://github.com/Hopiu/django-rosetta.git
synced 2026-04-24 06:54:45 +00:00
29 lines
768 B
Python
29 lines
768 B
Python
class BaseRosettaStorage:
|
|
def __repr__(self):
|
|
return str(self.id)
|
|
|
|
def __del__(self):
|
|
self._persist(self.__dict__)
|
|
|
|
def __getattr__(self, key, *args, **kwargs):
|
|
return None
|
|
|
|
def __getitem__(self, key):
|
|
return self.__dict__.get(key, None)
|
|
|
|
def __iter__(self):
|
|
return self.__dict__.__iter__()
|
|
|
|
|
|
class SessionRosettaStorage(BaseRosettaStorage):
|
|
def __init__(self, request):
|
|
self.request = request
|
|
|
|
for key, value in self.request.session.iteritems():
|
|
if key.startswith('rosetta_'):
|
|
setattr(self, key, value)
|
|
|
|
def _persist(self, what):
|
|
for key, value in what:
|
|
if key.startswith('rosetta_'):
|
|
self.request.session[key] = value
|