#!/usr/pkg/bin/python3.13
# -*- 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:
import six
_vars = locals().copy()
del _vars['__template_name__']
del _vars['six']
defaults = ", ".join(["%s='%s'" % var for var in six.iteritems(_vars)])
}}

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