changeset 234:a0116e944da1

changed naming convention for db modules.
author Marcin Kuzminski <marcin@python-works.com>
date Thu, 27 May 2010 21:31:30 +0200
parents 08e0347351d0
children fcab58c43ea1
files pylons_app/controllers/admin.py pylons_app/controllers/users.py pylons_app/lib/auth.py pylons_app/lib/db_manage.py pylons_app/lib/middleware/simplehg.py pylons_app/model/db.py pylons_app/model/forms.py
diffstat 7 files changed, 30 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- a/pylons_app/controllers/admin.py	Thu May 27 19:20:21 2010 +0200
+++ b/pylons_app/controllers/admin.py	Thu May 27 21:31:30 2010 +0200
@@ -5,7 +5,7 @@
 from pylons.controllers.util import abort, redirect
 from pylons_app.lib.base import BaseController, render
 from pylons_app.model import meta
-from pylons_app.model.db import UserLogs
+from pylons_app.model.db import UserLog
 from webhelpers.paginate import Page
 from pylons_app.lib.auth import LoginRequired
 
@@ -23,8 +23,7 @@
     def index(self):
         sa = meta.Session
                          
-        users_log = sa.query(UserLogs)\
-            .order_by(UserLogs.action_date.desc())
+        users_log = sa.query(UserLog).order_by(UserLog.action_date.desc())
         p = int(request.params.get('page', 1))
         c.users_log = Page(users_log, page=p, items_per_page=10)
         c.log_data = render('admin/admin_log.html')
--- a/pylons_app/controllers/users.py	Thu May 27 19:20:21 2010 +0200
+++ b/pylons_app/controllers/users.py	Thu May 27 21:31:30 2010 +0200
@@ -5,7 +5,7 @@
 
 from pylons_app.lib.base import BaseController, render
 from formencode import htmlfill
-from pylons_app.model.db import Users, UserLogs
+from pylons_app.model.db import User, UserLog
 import crypt
 
 log = logging.getLogger(__name__)
@@ -25,7 +25,7 @@
         """GET /users: All items in the collection"""
         # url('users')
         
-        c.users_list = self.sa.query(Users).all()     
+        c.users_list = self.sa.query(User).all()     
         return render('admin/users/users.html')
     
     def create(self):
@@ -34,7 +34,7 @@
         params = dict(request.params)
 
         try:
-            new_user = Users()
+            new_user = User()
             new_user.active = params.get('active', False)
             new_user.username = params.get('username')
             new_user.password = crypt.crypt(params.get('password'), '6a')
@@ -63,7 +63,7 @@
         params = dict(request.params)
 
         try:
-            new_user = self.sa.query(Users).get(id)
+            new_user = self.sa.query(User).get(id)
             new_user.active = params.get('active', False)
             new_user.username = params.get('username')
             if params.get('new_password'):
@@ -85,7 +85,7 @@
         #           method='delete')
         # url('user', id=ID)
         try:
-            self.sa.delete(self.sa.query(Users).get(id))
+            self.sa.delete(self.sa.query(User).get(id))
             self.sa.commit()
         except:
             self.sa.rollback()
@@ -100,7 +100,7 @@
     def edit(self, id, format='html'):
         """GET /users/id/edit: Form to edit an existing item"""
         # url('edit_user', id=ID)
-        c.user = self.sa.query(Users).get(id)
+        c.user = self.sa.query(User).get(id)
         defaults = c.user.__dict__
         return htmlfill.render(
             render('admin/users/user_edit.html'),
--- a/pylons_app/lib/auth.py	Thu May 27 19:20:21 2010 +0200
+++ b/pylons_app/lib/auth.py	Thu May 27 21:31:30 2010 +0200
@@ -2,7 +2,7 @@
 from pylons import session, url
 from pylons.controllers.util import abort, redirect
 from pylons_app.model import meta
-from pylons_app.model.db import Users
+from pylons_app.model.db import User
 from sqlalchemy.exc import OperationalError
 from sqlalchemy.orm.exc import NoResultFound, MultipleResultsFound
 import crypt
@@ -20,7 +20,7 @@
     sa = meta.Session
     password_crypt = get_crypt_password(password)
     try:
-        user = sa.query(Users).filter(Users.username == username).one()
+        user = sa.query(User).filter(User.username == username).one()
     except (NoResultFound, MultipleResultsFound, OperationalError) as e:
         log.error(e)
         user = None
--- a/pylons_app/lib/db_manage.py	Thu May 27 19:20:21 2010 +0200
+++ b/pylons_app/lib/db_manage.py	Thu May 27 21:31:30 2010 +0200
@@ -1,12 +1,13 @@
 import logging
 from os.path import dirname as dn
+from os.path import join as jn
 from sqlalchemy.engine import create_engine
 import os
 import sys
 ROOT = dn(dn(dn(os.path.realpath(__file__))))
 sys.path.append(ROOT)
 
-from pylons_app.model.db import Users
+from pylons_app.model.db import User
 from pylons_app.model.meta import Session, Base
 
 from pylons_app.lib.auth import get_crypt_password
@@ -22,14 +23,14 @@
 class DbManage(object):
     def __init__(self, log_sql):
         self.dbname = 'hg_app.db'
-        dburi = 'sqlite:////%s' % os.path.join(ROOT, self.dbname)
+        dburi = 'sqlite:////%s' % jn(ROOT, self.dbname)
         engine = create_engine(dburi, echo=log_sql) 
         init_model(engine)
         self.sa = Session()
     
     def check_for_db(self, override):
         log.info('checking for exisiting db')
-        if os.path.isfile(os.path.join(ROOT, self.dbname)):
+        if os.path.isfile(jn(ROOT, self.dbname)):
             log.info('database exisist')
             if not override:
                 raise Exception('database already exists')
@@ -41,6 +42,7 @@
         self.check_for_db(override)
         if override:
             log.info("database exisist and it's going to be destroyed")
+            os.remove(jn(ROOT, self.dbname))
         Base.metadata.create_all(checkfirst=override)
         log.info('Created tables for %s', self.dbname)
     
@@ -53,7 +55,7 @@
     def create_user(self, username, password, admin=False):
         log.info('creating administrator user %s', username)
         
-        new_user = Users()
+        new_user = User()
         new_user.username = username
         new_user.password = get_crypt_password(password)
         new_user.admin = admin
--- a/pylons_app/lib/middleware/simplehg.py	Thu May 27 19:20:21 2010 +0200
+++ b/pylons_app/lib/middleware/simplehg.py	Thu May 27 21:31:30 2010 +0200
@@ -18,7 +18,7 @@
 from pylons_app.lib.auth import authfunc
 from pylons_app.lib.utils import is_mercurial, make_ui, invalidate_cache
 from pylons_app.model import meta
-from pylons_app.model.db import UserLogs, Users
+from pylons_app.model.db import UserLog, User
 from webob.exc import HTTPNotFound
 import logging
 import os
@@ -102,9 +102,8 @@
     def __log_user_action(self, username, action, repo):
         sa = meta.Session
         try:
-            user = sa.query(Users)\
-                    .filter(Users.username == username).one()
-            user_log = UserLogs()
+            user = sa.query(User).filter(User.username == username).one()
+            user_log = UserLog()
             user_log.user_id = user.user_id
             user_log.action = action
             user_log.repository = repo.replace('/', '')
--- a/pylons_app/model/db.py	Thu May 27 19:20:21 2010 +0200
+++ b/pylons_app/model/db.py	Thu May 27 21:31:30 2010 +0200
@@ -2,7 +2,7 @@
 from sqlalchemy.orm import relation, backref
 from sqlalchemy import *
 
-class Users(Base): 
+class User(Base): 
     __tablename__ = 'users'
     __table_args__ = {'useexisting':True}
     user_id = Column("user_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=1)
@@ -15,24 +15,27 @@
     email = Column("email", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
     last_login = Column("last_login", DATETIME(timezone=False), nullable=True, unique=None, default=None)
     
-    user_log = relation('UserLogs')
+    user_log = relation('UserLog')
     
     def __repr__(self):
         return "<User('%s:%s')>" % (self.user_id, self.username)
       
-class UserLogs(Base): 
+class UserLog(Base): 
     __tablename__ = 'user_logs'
     __table_args__ = {'useexisting':True}
-    user_log_id = Column("id", INTEGER(), nullable=False, unique=True, default=None, primary_key=1)
+    user_log_id = Column("user_log_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=1)
     user_id = Column("user_id", INTEGER(), ForeignKey(u'users.user_id'), nullable=True, unique=None, default=None)
     repository = Column("repository", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
     action = Column("action", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
     action_date = Column("action_date", DATETIME(timezone=False), nullable=True, unique=None, default=None)
     
-    user = relation('Users')
+    user = relation('User')
 
+class Repository(Base):
+    __tablename__ = 'repositories'
+    repo_id = Column("repo_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=1)
 
-class Permissions(Base):
+class Permission(Base):
     __tablename__ = 'permissions'
     __table_args__ = {'useexisting':True}
     permission_id = Column("id", INTEGER(), nullable=False, unique=True, default=None, primary_key=1)
--- a/pylons_app/model/forms.py	Thu May 27 19:20:21 2010 +0200
+++ b/pylons_app/model/forms.py	Thu May 27 21:31:30 2010 +0200
@@ -24,7 +24,7 @@
 from pylons.i18n.translation import _
 from pylons_app.lib.auth import get_crypt_password
 from pylons_app.model import meta
-from pylons_app.model.db import Users
+from pylons_app.model.db import User
 from sqlalchemy.exc import OperationalError
 from sqlalchemy.orm.exc import NoResultFound, MultipleResultsFound
 from webhelpers.pylonslib.secure_form import authentication_token
@@ -66,7 +66,7 @@
         crypted_passwd = get_crypt_password(value['password'])
         username = value['username']
         try:
-            user = sa.query(Users).filter(Users.username == username).one()
+            user = sa.query(User).filter(User.username == username).one()
         except (NoResultFound, MultipleResultsFound, OperationalError) as e:
             log.error(e)
             user = None