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