Files @ b61824e61e68
Branch filter:

Location: kallithea/rhodecode/lib/dbmigrate/migrate/versioning/templates/manage/pylons.py_tmpl - annotation

Marcin Kuzminski
Don't cache dulwich Repos, in pararell multithreaded evniroment dulwich pack file openers
can break badly. We need to create Repo() objects always for each call, even when it's
taken from cache.
Fixed issue with dulwich filedescriptor leak ref #573
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys

from sqlalchemy import engine_from_config
from paste.deploy.loadwsgi import ConfigLoader

from migrate.versioning.shell import main
from {{ locals().pop('repository_name') }}.model import migrations


if '-c' in sys.argv:
    pos = sys.argv.index('-c')
    conf_path = sys.argv[pos + 1]
    del sys.argv[pos:pos + 2]
else:
    conf_path = 'development.ini'

{{py:
_vars = locals().copy()
del _vars['__template_name__']
defaults = ", ".join(["%s='%s'" % var for var in _vars.iteritems()])
}}

conf_dict = ConfigLoader(conf_path).parser._sections['app:main']

# migrate supports passing url as an existing Engine instance (since 0.6.0)
# usage: migrate -c path/to/config.ini COMMANDS
if __name__ == '__main__':
    main(url=engine_from_config(conf_dict), repository=migrations.__path__[0],{{ defaults }})