| 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 | 
| 100 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 1 | #!/usr/bin/env python3 | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 2 | |
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 3 | """ | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 4 | Wrapper script for pgtoolkit tools. | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 5 | |
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 6 | Usage: | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 7 | |
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 8 | pgtool --list | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 9 | List all available tools. | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 10 | |
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 11 | pgtool <tool_name> <arg_1> <arg_2> ... | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 12 | Run tool. All args except first one are forwarded to the tool. | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 13 | |
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 14 | pgtool schemadiff db1 db2 | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 15 | E.g. run schemadiff between db1 and db2. | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 16 | |
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 17 | pgtool schemadiff --help | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 18 | Get help for tool parameters. | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 19 | |
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 20 | """ | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 21 | |
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 22 | import pgtoolkit.tools | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 23 | import sys | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 24 | from importlib import import_module | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 25 | |
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 26 | |
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 27 | if len(sys.argv) < 2: | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 28 | print(__doc__, end='') | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 29 | sys.exit() | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 30 | |
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 31 | if sys.argv[1] == '--list': | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 32 | for tool in pgtoolkit.tools.__all__: | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 33 | print(tool) | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 34 | sys.exit() | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 35 | |
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 36 | tool = sys.argv[1] | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 37 | tool_args = sys.argv[2:] | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 38 | |
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 39 | module = import_module('pgtoolkit.tools.' + tool)
 | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 40 | |
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 41 | tool = module.cls() | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 42 | tool.init(tool_args) | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 43 | tool.main() | 
| 
d6088dba8fea
Add pgtool wrapper for all tools. Only this script will be installed into system bin.
 Radek Brich <brich.radek@ifortuna.cz> parents: diff
changeset | 44 |