[Repoze-dev] [issue167] normalized sql templates for repoze.bfg + fixed db_echo bug

2010-10-13 Thread Chris McDonough

Chris McDonough chr...@plope.com added the comment:

This patch (delta the echo-on-by-default) has been applied to the trunk and the 
tutorial has been updated.  Thanks Ergo.

--
status: chatting - resolved

__
Repoze Bugs b...@bugs.repoze.org
http://bugs.repoze.org/issue167
__
___
Repoze-dev mailing list
Repoze-dev@lists.repoze.org
http://lists.repoze.org/listinfo/repoze-dev


[Repoze-dev] [issue167] normalized sql templates for repoze.bfg + fixed db_echo bug

2010-09-18 Thread Marcin

New submission from Marcin erg...@gmail.com:

fixes naming and mixed declarative/imperative style for models
also fixes problem with db_echo param not working  by using asbool()

--
assignedto: chrism
files: normalized_alchemy_templates.diff
messages: 450
nosy: chrism, ergo
priority: bug
status: unread
title: normalized sql templates for repoze.bfg + fixed db_echo bug

__
Repoze Bugs b...@bugs.repoze.org
http://bugs.repoze.org/issue167
__Index: repoze/bfg/paster_templates/alchemy/+package+/run.py_tmpl
===
--- repoze/bfg/paster_templates/alchemy/+package+/run.py_tmpl	(revision 10318)
+++ repoze/bfg/paster_templates/alchemy/+package+/run.py_tmpl	(working copy)
@@ -1,4 +1,5 @@
 from repoze.bfg.configuration import Configurator
+from paste.deploy.converters import asbool
 
 from {{package}}.models import appmaker
 
@@ -11,11 +12,11 @@
 zcml_file = settings.get('configure_zcml', 'configure.zcml')
 db_string = settings.get('db_string')
 if db_string is None:
-raise ValueError(No 'db_string' in application configuration.)
+raise ValueError(No 'db_string' value in application configuration.)
 db_echo = settings.get('db_echo')
 if db_echo is None:
 db_echo = True
-get_root = appmaker(db_string, db_echo)
+get_root = appmaker(db_string, asbool(db_echo))
 config = Configurator(settings=settings, root_factory=get_root)
 config.begin()
 config.load_zcml(zcml_file)
Index: repoze/bfg/paster_templates/alchemy/+package+/models.py
===
--- repoze/bfg/paster_templates/alchemy/+package+/models.py	(revision 10318)
+++ repoze/bfg/paster_templates/alchemy/+package+/models.py	(working copy)
@@ -19,7 +19,7 @@
 Base = declarative_base()
 
 class MyModel(Base):
-__tablename__ = 'mymodel'
+__tablename__ = 'models'
 id = Column(Integer, primary_key=True)
 name = Column(Unicode(255), unique=True)
 value = Column(Integer)
@@ -73,7 +73,7 @@
 session.flush()
 transaction.commit()
 
-def initialize_sql(db_string, db_echo):
+def initialize_sql(db_string, db_echo=False):
 engine = create_engine(db_string, echo=db_echo)
 DBSession.configure(bind=engine)
 Base.metadata.bind = engine
@@ -83,6 +83,6 @@
 except IntegrityError:
 pass
 
-def appmaker(db_string, db_echo):
+def appmaker(db_string, db_echo=False):
 initialize_sql(db_string, db_echo)
 return default_get_root
Index: repoze/bfg/paster_templates/alchemy/+project+.ini_tmpl
===
--- repoze/bfg/paster_templates/alchemy/+project+.ini_tmpl	(revision 10318)
+++ repoze/bfg/paster_templates/alchemy/+project+.ini_tmpl	(working copy)
@@ -1,20 +1,20 @@
 [DEFAULT]
 debug = true
 
-[app:alchemy]
-use = egg:{{project}}#app
+[app:sqlalchemy]
+use = egg:{{package}}#app
 reload_templates = true
 debug_authorization = false
 debug_notfound = false
 debug_templates = true
 default_locale_name = en
 db_string = sqlite:///%(here)s/{{package}}.db
-db_echo = false
+db_echo = true
 
 [pipeline:main]
 pipeline =
 egg:repoze.tm2#tm
-alchemy
+sqlalchemy
 
 [server:main]
 use = egg:Paste#http
Index: repoze/bfg/paster_templates/routesalchemy/+package+/views.py_tmpl
===
--- repoze/bfg/paster_templates/routesalchemy/+package+/views.py_tmpl	(revision 10318)
+++ repoze/bfg/paster_templates/routesalchemy/+package+/views.py_tmpl	(working copy)
@@ -1,7 +1,7 @@
 from {{package}}.models import DBSession
-from {{package}}.models import Model
+from {{package}}.models import MyModel
 
 def my_view(request):
 dbsession = DBSession()
-root = dbsession.query(Model).filter(Model.name==u'root').first()
+root = dbsession.query(MyModel).filter(MyModel.name==u'root').first()
 return {'root':root, 'project':'{{project}}'}
Index: repoze/bfg/paster_templates/routesalchemy/+package+/run.py_tmpl
===
--- repoze/bfg/paster_templates/routesalchemy/+package+/run.py_tmpl	(revision 10318)
+++ repoze/bfg/paster_templates/routesalchemy/+package+/run.py_tmpl	(working copy)
@@ -1,4 +1,5 @@
 from repoze.bfg.configuration import Configurator
+from paste.deploy.converters import asbool
 
 from {{package}}.models import initialize_sql
 
@@ -12,7 +13,10 @@
 db_string = settings.get('db_string')
 if db_string is None:
 raise ValueError(No 'db_string' value in application configuration.)
-initialize_sql(db_string)
+db_echo = settings.get('db_echo')
+if db_echo is None:
+db_echo = True
+initialize_sql(db_string, asbool(db_echo))
 config = Configurator(settings=settings)
 config.begin()
 config.load_zcml(zcml_file)
Index: 

[Repoze-dev] [issue167] normalized sql templates for repoze.bfg + fixed db_echo bug

2010-09-18 Thread Chris McDonough

Chris McDonough chr...@plope.com added the comment:

Thanks!

I would just apply it immediately, except the bfgwiki2 tutorial (the SQLAlchemy 
tutorial) will need to be fixed to account for the changes made to the 
bfg_routesalchemy paster template (it uses the template as a bootstrap 
mechanism).

Also, is it intentional that db_echo will be True by default?

--
status: unread - chatting

__
Repoze Bugs b...@bugs.repoze.org
http://bugs.repoze.org/issue167
__
___
Repoze-dev mailing list
Repoze-dev@lists.repoze.org
http://lists.repoze.org/listinfo/repoze-dev


[Repoze-dev] [issue167] normalized sql templates for repoze.bfg + fixed db_echo bug

2010-09-18 Thread Chris McDonough

Chris McDonough chr...@plope.com added the comment:

After taking a short stab at it, I realize why a switch to declarative in 
bfg_routesalchemy has never been done.  It's quite a bit of of work to change 
the 
tutorial, as the bfgwiki2 tutorial tries very hard to name line numbers, and 
explain 
exactly what's going on.  While I like the idea of using declarative here, I'm 
not 
going to apply this patch until I have the time to change the tutorial (and 
verify that 
it still works; no use changing it unless you validate that it works).

__
Repoze Bugs b...@bugs.repoze.org
http://bugs.repoze.org/issue167
__
___
Repoze-dev mailing list
Repoze-dev@lists.repoze.org
http://lists.repoze.org/listinfo/repoze-dev