Go to Google Groups Home    pylons-discuss
running scripts using pylons models

WSobczuk <wsobc...@gmail.com>

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)()