pgtool
author Radek Brich <brich.radek@ifortuna.cz>
Tue, 06 May 2014 18:37:41 +0200
changeset 100 d6088dba8fea
child 101 2a2d0d5df03b
permissions -rwxr-xr-x
Add pgtool wrapper for all tools. Only this script will be installed into system bin.

#!/usr/bin/env python3

"""
Wrapper script for pgtoolkit tools.

Usage:

    pgtool --list
        List all available tools.

    pgtool <tool_name> <arg_1> <arg_2> ...
        Run tool. All args except first one are forwarded to the tool.

    pgtool schemadiff db1 db2
        E.g. run schemadiff between db1 and db2.

    pgtool schemadiff --help
        Get help for tool parameters.

"""

import pgtoolkit.tools
import sys
from importlib import import_module


if len(sys.argv) < 2:
    print(__doc__, end='')
    sys.exit()

if sys.argv[1] == '--list':
    for tool in pgtoolkit.tools.__all__:
        print(tool)
    sys.exit()

tool = sys.argv[1]
tool_args = sys.argv[2:]

module = import_module('pgtoolkit.tools.' + tool)

tool = module.cls()
tool.init(tool_args)
tool.main()