import HEAD into svn+ssh://svn.samba.org/home/svn/samba/trunk
[metze/old/v3-2-winbind-ndr.git] / source / python / gtdbtool
1 #!/usr/bin/env python
2
3 import sys
4 from gtkdictbrowser import GtkDictBrowser
5 import gtk
6 from samba import tdb
7 import string
8
9 # Open handle on tdb
10
11 if len(sys.argv) != 2:
12     print "Usage: gdbtool <tdbfile>"
13     sys.exit(1)
14
15 try:
16     t = tdb.open(sys.argv[1])
17 except tdb.error, t:
18     print "gtdbtool: error opening %s: %s" % (sys.argv[1], t)
19     sys.exit(1)
20
21 # Create interface
22
23 db = GtkDictBrowser(t)
24
25 def display_key_x00(key):
26     """Remove \x00 from all keys as they mucks up GTK."""
27     return string.replace(key, "\x00", "")
28
29 db.register_get_key_text_fn(display_key_x00)
30
31 db.build_ui('gtdbtool')
32
33 # Override Python's handling of ctrl-c so we can break out of the
34 # gui from the command line.
35
36 import signal
37 signal.signal(signal.SIGINT, signal.SIG_DFL)
38
39 gtk.mainloop()