ibrowser.py
changeset 52 26121a8fe78b
child 104 d8ff52a0390f
equal deleted inserted replaced
51:bdc44f96cb0b 52:26121a8fe78b
       
     1 #!/usr/bin/env python3
       
     2 """
       
     3 interactive schema browser
       
     4 
       
     5 Connect to specified database and open interactive shell.
       
     6 
       
     7 PgBrowser instance is "browser".
       
     8 
       
     9 Example:
       
    10 
       
    11 >>> browser.schemas['myschema'].tables['mytable'].columns['id'].default
       
    12 "nextval('mytable_id_seq'::regclass)"
       
    13 
       
    14 """
       
    15 
       
    16 from pgtoolkit import pgbrowser, toolbase
       
    17 
       
    18 import code
       
    19 
       
    20 
       
    21 class InteractiveBrowserTool(toolbase.SimpleTool):
       
    22     def __init__(self):
       
    23         toolbase.SimpleTool.__init__(self, name='ibrowser', desc='Interactive schema browser.')
       
    24         self.init()
       
    25 
       
    26     def main(self):
       
    27         browser = pgbrowser.PgBrowser(self.pgm.get_conn('target'))
       
    28         shell = code.InteractiveConsole(locals())
       
    29         shell.interact()
       
    30 
       
    31 
       
    32 tool = InteractiveBrowserTool()
       
    33 tool.main()
       
    34