diff options
Diffstat (limited to 'utils/version_check.py')
-rw-r--r-- | utils/version_check.py | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/utils/version_check.py b/utils/version_check.py index eac7dad..23923f7 100644 --- a/utils/version_check.py +++ b/utils/version_check.py @@ -2,36 +2,37 @@ import os, sys from datetime import datetime from optparse import OptionParser -from werkzeug.utils import import_string +from werkzeug.utils import find_modules, import_string path = os.path.join(os.path.dirname(__file__), os.path.pardir) sys.path.insert(0, path) del path -from grumpy import app, vdb +from grumpy import app from grumpy.models import db, Package, PkgIssue, Setting from grumpy.utils import compare_version PLUGIN_NAME='ver_bumper::' +def print_list(mods): + return "Supported modules are:\n\t%s" % ('\n\t'.join(mods)) if __name__ == '__main__': + # Look up supported modules + modules = [i.rsplit('.', 1)[1] for i in find_modules('grumpy.vdb')] parser = OptionParser(usage="usage: %prog [options] CONFFILE module") (opts, args) = parser.parse_args() if len(args) != 2: parser.error("provide path to configuration file as first argument\n" \ "package module you want to load as second argument.\n\n" \ - "Supported modules are:\n\t%s" % \ - ('\n\t'.join(vdb.modules))) + "%s" % print_list(modules)) sys.exit(1) # Check whether module is supported mod = args[1] - if mod not in vdb.modules: - parser.error("Unknown module: %s\n" \ - "Supported modules are:\n\t%s" % \ - (mod, '\n\t'.join(vdb.modules))) + if mod not in modules: + parser.error("Unknown module: %s\n%s" % (mod, print_list(modules))) sys.exit(1) - # Import our module - m = import_string('grumpy.vdb:%s' % mod, True) + # Import our version checker module + m = import_string('grumpy.vdb.%s.%s_checker' % (mod, mod), True) if not m: print "Unknown error occurred: unable to import module %s" % mod raise RuntimeError |