diff pylons_app/lib/utils.py @ 350:664a5b8c551a

Added application settings, are now customizable from database fixed all instances of sqlachemy to be removed() after execution.
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 14 Jul 2010 18:31:06 +0200
parents e8fc875467bd
children d09381593b12
line wrap: on
line diff
--- a/pylons_app/lib/utils.py	Wed Jul 14 18:15:37 2010 +0200
+++ b/pylons_app/lib/utils.py	Wed Jul 14 18:31:06 2010 +0200
@@ -29,7 +29,7 @@
 from mercurial import ui, config, hg
 from mercurial.error import RepoError
 from pylons_app.model.db import Repository, User, HgAppUi, HgAppSettings
-from pylons_app.model.meta import Session
+from pylons_app.model import meta
 log = logging.getLogger(__name__)
 
 
@@ -80,12 +80,21 @@
 
 @cache_region('super_short_term', 'cached_hg_ui')
 def get_hg_ui_cached():
-    sa = Session()
-    return sa.query(HgAppUi).all()    
+    try:
+        sa = meta.Session
+        ret = sa.query(HgAppUi).all()
+    finally:
+        meta.Session.remove()
+    return ret
+
 
 def get_hg_settings():
-    sa = Session()
-    ret = sa.query(HgAppSettings).scalar()
+    try:
+        sa = meta.Session
+        ret = sa.query(HgAppSettings).scalar()
+    finally:
+        meta.Session.remove()
+        
     if not ret:
         raise Exception('Could not get application settings !')
     return ret
@@ -183,7 +192,7 @@
     """
     from pylons_app.model.repo_model import RepoModel
     
-    sa = Session()
+    sa = meta.Session
     user = sa.query(User).filter(User.admin == True).first()
     
     rm = RepoModel()
@@ -208,3 +217,5 @@
                 sa.delete(repo)
                 sa.commit()
 
+    
+    meta.Session.remove()