comparison pylons_app/model/db.py @ 265:0e5455fda8fd

Implemented basic repository managment. Implemented repo2db mappings, model, helpers updates and code cleanups
author Marcin Kuzminski <marcin@python-works.com>
date Mon, 07 Jun 2010 00:18:33 +0200
parents 5da4ef115006
children 29370bb76fa6
comparison
equal deleted inserted replaced
264:0d68a749db33 265:0e5455fda8fd
1 from pylons_app.model.meta import Base 1 from pylons_app.model.meta import Base
2 from sqlalchemy.orm import relation, backref 2 from sqlalchemy.orm import relation, backref
3 from sqlalchemy import * 3 from sqlalchemy import *
4 from vcs.utils.lazy import LazyProperty
4 5
5 class User(Base): 6 class User(Base):
6 __tablename__ = 'users' 7 __tablename__ = 'users'
7 __table_args__ = {'useexisting':True} 8 __table_args__ = {'useexisting':True}
8 user_id = Column("user_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=1) 9 user_id = Column("user_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True)
9 username = Column("username", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) 10 username = Column("username", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
10 password = Column("password", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) 11 password = Column("password", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
11 active = Column("active", BOOLEAN(), nullable=True, unique=None, default=None) 12 active = Column("active", BOOLEAN(), nullable=True, unique=None, default=None)
12 admin = Column("admin", BOOLEAN(), nullable=True, unique=None, default=None) 13 admin = Column("admin", BOOLEAN(), nullable=True, unique=None, default=None)
13 name = Column("name", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) 14 name = Column("name", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
15 email = Column("email", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) 16 email = Column("email", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
16 last_login = Column("last_login", DATETIME(timezone=False), nullable=True, unique=None, default=None) 17 last_login = Column("last_login", DATETIME(timezone=False), nullable=True, unique=None, default=None)
17 18
18 user_log = relation('UserLog') 19 user_log = relation('UserLog')
19 20
21 @LazyProperty
22 def full_contact(self):
23 return '%s %s <%s>' % (self.name, self.lastname, self.email)
24
20 def __repr__(self): 25 def __repr__(self):
21 return "<User('%s:%s')>" % (self.user_id, self.username) 26 return "<User('%s:%s')>" % (self.user_id, self.username)
22 27
23 class UserLog(Base): 28 class UserLog(Base):
24 __tablename__ = 'user_logs' 29 __tablename__ = 'user_logs'
25 __table_args__ = {'useexisting':True} 30 __table_args__ = {'useexisting':True}
26 user_log_id = Column("user_log_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=1) 31 user_log_id = Column("user_log_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=1)
27 user_id = Column("user_id", INTEGER(), ForeignKey(u'users.user_id'), nullable=True, unique=None, default=None) 32 user_id = Column("user_id", INTEGER(), ForeignKey(u'users.user_id'), nullable=False, unique=None, default=None)
28 repository = Column("repository", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) 33 repository = Column("repository", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
29 action = Column("action", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) 34 action = Column("action", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
30 action_date = Column("action_date", DATETIME(timezone=False), nullable=True, unique=None, default=None) 35 action_date = Column("action_date", DATETIME(timezone=False), nullable=True, unique=None, default=None)
31 36
32 user = relation('User') 37 user = relation('User')
33 38
34 class Repository(Base): 39 class Repository(Base):
35 __tablename__ = 'repositories' 40 __tablename__ = 'repositories'
36 repo_id = Column("repo_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=1) 41 repo_name = Column("repo_name", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=False, unique=True, default=None, primary_key=True)
37 repo_name = Column("repo_name", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) 42 user_id = Column("user_id", INTEGER(), ForeignKey(u'users.user_id'), nullable=False, unique=False, default=None)
38 user_id = Column("user_id", INTEGER(), ForeignKey(u'users.user_id'), nullable=True, unique=None, default=None)
39 private = Column("private", BOOLEAN(), nullable=True, unique=None, default=None) 43 private = Column("private", BOOLEAN(), nullable=True, unique=None, default=None)
40 44 description = Column("description", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
41 user = relation('User') 45 user = relation('User')
42
43 46
44 class Permission(Base): 47 class Permission(Base):
45 __tablename__ = 'permissions' 48 __tablename__ = 'permissions'
46 __table_args__ = {'useexisting':True} 49 __table_args__ = {'useexisting':True}
47 permission_id = Column("id", INTEGER(), nullable=False, unique=True, default=None, primary_key=1) 50 permission_id = Column("id", INTEGER(), nullable=False, unique=True, default=None, primary_key=1)