Maybe I'm just not getting it, but this looks really complicated for
what it's trying to achieve (not the fault of the OP but more so because
of the paste config stuff).
serioiusly, why not just have
appconfig.py
dburi = 'postgres://user:[EMAIL PROTECTED]/db'
database.py
import appconfig.py
engine = create_engine(appconfig.dburi)
# tables defined here
model.py
import database
#model classes defined here
model.meta.connect(database.engine)
Then if you need to use any of this in a script, it's as simple as importing
any of these modules into your script. Just plain python. Nothing special.
Huy
> Hello,
>
> I just wasted around 5 hours trying to figure out how to run a job
> that would use pylons models/config. I finally did it so I'm
> submitting this script here and hoping that it will be somehow
> integrated into pylons and the documentation. I hope that as a result
> it will save other peoples time and make pylons a better experience.
>
> Regards,
>
> from sqlalchemy import *
> import leisurenow.models as model
> from paste.deploy import appconfig, config, CONFIG
> import sys
>
> config_file = sys.argv[1]
> package = sys.argv[2]
> func = sys.argv[3]
>
> conf = appconfig('config:'+config_file)
> conf.update(dict(app_conf=conf.local_conf,
> global_conf=conf.global_conf))
> CONFIG.push_process_config(conf)
> if not conf.has_key('sqlalchemy.dburi'):
> raise KeyError("No sqlalchemy database config found!")
> print "Connecting to database %s..."%repr(conf['sqlalchemy.dburi'])
> engine = create_engine(conf['sqlalchemy.dburi'])
> model.meta.connect(engine)
>
> pkg = __import__(package, globals(), locals(), [func])
> getattr(pkg, func)()
>
>
> >
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"pylons-discuss" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/pylons-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---