Mercurial > kallithea
diff rhodecode/model/db.py @ 2065:9ab21c5ddb84 rhodecode-0.0.1.3.2
merge with beta
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Tue, 28 Feb 2012 20:21:35 +0200 |
parents | 82a88013a3fd d9ba58526712 |
children | ecd59c28f432 |
line wrap: on
line diff
--- a/rhodecode/model/db.py Mon Feb 27 05:14:08 2012 +0200 +++ b/rhodecode/model/db.py Tue Feb 28 20:21:35 2012 +0200 @@ -44,6 +44,7 @@ from rhodecode.lib.caching_query import FromCache from rhodecode.model.meta import Base, Session +import hashlib log = logging.getLogger(__name__) @@ -52,6 +53,8 @@ # BASE CLASSES #============================================================================== +_hash_key = lambda k: hashlib.md5(safe_str(k)).hexdigest() + class ModelSerializer(json.JSONEncoder): """ @@ -337,8 +340,11 @@ q = cls.query().filter(cls.username == username) if cache: - q = q.options(FromCache("sql_cache_short", - "get_user_%s" % username)) + q = q.options(FromCache( + "sql_cache_short", + "get_user_%s" % _hash_key(username) + ) + ) return q.scalar() @classmethod @@ -394,7 +400,7 @@ return datetime.date(*self.action_date.timetuple()[:3]) user = relationship('User') - repository = relationship('Repository',cascade='') + repository = relationship('Repository', cascade='') class UsersGroup(Base, BaseModel): @@ -406,6 +412,7 @@ users_group_active = Column("users_group_active", Boolean(), nullable=True, unique=None, default=None) members = relationship('UsersGroupMember', cascade="all, delete, delete-orphan", lazy="joined") + users_group_to_perm = relationship('UsersGroupToPerm', cascade='all') def __repr__(self): return '<userGroup(%s)>' % (self.users_group_name) @@ -418,8 +425,11 @@ else: q = cls.query().filter(cls.users_group_name == group_name) if cache: - q = q.options(FromCache("sql_cache_short", - "get_user_%s" % group_name)) + q = q.options(FromCache( + "sql_cache_short", + "get_user_%s" % _hash_key(group_name) + ) + ) return q.scalar() @classmethod @@ -748,8 +758,11 @@ gr = cls.query()\ .filter(cls.group_name == group_name) if cache: - gr = gr.options(FromCache("sql_cache_short", - "get_group_%s" % group_name)) + gr = gr.options(FromCache( + "sql_cache_short", + "get_group_%s" % _hash_key(group_name) + ) + ) return gr.scalar() @property @@ -1038,7 +1051,7 @@ prefix = '' iid = rhodecode.CONFIG.get('instance_id') if iid: - prefix = iid + prefix = iid return "%s%s" % (prefix, key) @classmethod