From 17aaab69075f33e8e31f5fbf5bcad54882aa244b Mon Sep 17 00:00:00 2001 From: Boris Bobrov Date: Tue, 8 Mar 2016 17:12:49 +0300 Subject: Fix module name for `gmg alembic` command gmg_commands.alembic attempted to import from `alembic`. On python2.7 it resulted in import from itself. Rename alembic.py to alembic_commands.py and fix references to gmg_commands.alembic. --- mediagoblin/gmg_commands/__init__.py | 4 +- mediagoblin/gmg_commands/alembic.py | 56 ---------------------------- mediagoblin/gmg_commands/alembic_commands.py | 56 ++++++++++++++++++++++++++++ 3 files changed, 58 insertions(+), 58 deletions(-) delete mode 100644 mediagoblin/gmg_commands/alembic.py create mode 100644 mediagoblin/gmg_commands/alembic_commands.py (limited to 'mediagoblin') diff --git a/mediagoblin/gmg_commands/__init__.py b/mediagoblin/gmg_commands/__init__.py index b2c8cd6b..98b097a6 100644 --- a/mediagoblin/gmg_commands/__init__.py +++ b/mediagoblin/gmg_commands/__init__.py @@ -77,8 +77,8 @@ SUBCOMMAND_MAP = { 'func': 'mediagoblin.gmg_commands.batchaddmedia:batchaddmedia', 'help': 'Add many media entries at once'}, 'alembic': { - 'setup': 'mediagoblin.gmg_commands.alembic:parser_setup', - 'func': 'mediagoblin.gmg_commands.alembic:raw_alembic_cli', + 'setup': 'mediagoblin.gmg_commands.alembic_commands:parser_setup', + 'func': 'mediagoblin.gmg_commands.alembic_commands:raw_alembic_cli', 'help': ( 'Run raw alembic commands with our local database. ' '(Unless you know what you\'re doing, use dbupdate instead!)')}, diff --git a/mediagoblin/gmg_commands/alembic.py b/mediagoblin/gmg_commands/alembic.py deleted file mode 100644 index f255af73..00000000 --- a/mediagoblin/gmg_commands/alembic.py +++ /dev/null @@ -1,56 +0,0 @@ -# GNU MediaGoblin -- federated, autonomous media hosting -# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . - -import argparse -import os - -from alembic import config -from sqlalchemy.orm import sessionmaker - -from mediagoblin.db.open import setup_connection_and_db_from_config -from mediagoblin.init import setup_global_and_app_config - - -class FudgedCommandLine(config.CommandLine): - def main(self, args, db): - options = self.parser.parse_args(args.args_for_alembic) - # This code is inspired by a hack in Alembic, but isn't the same really. - # Regardless, Alembic is Expat licensed. - if not hasattr(options, "cmd"): - print( - "* Only use this command if you know what you are doing! *\n" - "If not, use the 'gmg dbupdate' command instead.\n\n" - "Alembic help:\n") - self.parser.print_help() - return - else: - Session = sessionmaker(bind=db.engine) - - root_dir = os.path.abspath(os.path.dirname(os.path.dirname( - os.path.dirname(__file__)))) - alembic_cfg_path = os.path.join(root_dir, 'alembic.ini') - cfg = config.Config(alembic_cfg_path, - cmd_opts=options) - cfg.attributes["session"] = Session() - self.run_cmd(cfg, options) - -def parser_setup(subparser): - subparser.add_argument("args_for_alembic", nargs=argparse.REMAINDER) - -def raw_alembic_cli(args): - global_config, app_config = setup_global_and_app_config(args.conf_file) - db = setup_connection_and_db_from_config(app_config, migrations=False) - FudgedCommandLine().main(args, db) diff --git a/mediagoblin/gmg_commands/alembic_commands.py b/mediagoblin/gmg_commands/alembic_commands.py new file mode 100644 index 00000000..f255af73 --- /dev/null +++ b/mediagoblin/gmg_commands/alembic_commands.py @@ -0,0 +1,56 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +import argparse +import os + +from alembic import config +from sqlalchemy.orm import sessionmaker + +from mediagoblin.db.open import setup_connection_and_db_from_config +from mediagoblin.init import setup_global_and_app_config + + +class FudgedCommandLine(config.CommandLine): + def main(self, args, db): + options = self.parser.parse_args(args.args_for_alembic) + # This code is inspired by a hack in Alembic, but isn't the same really. + # Regardless, Alembic is Expat licensed. + if not hasattr(options, "cmd"): + print( + "* Only use this command if you know what you are doing! *\n" + "If not, use the 'gmg dbupdate' command instead.\n\n" + "Alembic help:\n") + self.parser.print_help() + return + else: + Session = sessionmaker(bind=db.engine) + + root_dir = os.path.abspath(os.path.dirname(os.path.dirname( + os.path.dirname(__file__)))) + alembic_cfg_path = os.path.join(root_dir, 'alembic.ini') + cfg = config.Config(alembic_cfg_path, + cmd_opts=options) + cfg.attributes["session"] = Session() + self.run_cmd(cfg, options) + +def parser_setup(subparser): + subparser.add_argument("args_for_alembic", nargs=argparse.REMAINDER) + +def raw_alembic_cli(args): + global_config, app_config = setup_global_and_app_config(args.conf_file) + db = setup_connection_and_db_from_config(app_config, migrations=False) + FudgedCommandLine().main(args, db) -- cgit v1.2.3