"""
Views RKI files in a TK window.
"""
import sys
from os.path import basename, abspath, join, dirname
from Tkinter import *
import textwrap
import rki
def tkinter_display_str(rki_filename, msg):
root = Tk()
root.iconbitmap(abspath(join(dirname(__file__), "corona.ico")))
text = Text(root, width=100, padx=10, pady=10)
text.insert(INSERT, msg)
text.pack()
root.title(rki_filename)
root.mainloop()
return
def dict_to_str(d):
str_rep = ""
for key in dir(obj):
k = str(key).strip().ljust(30)
value = getattr(obj, key)
value = str(value).strip()
if len(value) > 100:
print len(value)
value = "\n" + textwrap.fill(value, 100, initial_indent=' ', subsequent_indent=' ') + "\n"
str_rep += "%s: %s\n" % (k, value)
return str_rep
def view_rki(rki_path):
str_rep = ""
obj = rki.parseObject(rki_path)
if obj is not None:
for key in dir(obj):
if not key.startswith("_"):
if key == "count":
pass
elif key == "index":
pass
else:
k = str(key).strip().ljust(30)
value = getattr(obj, key)
value = str(value).strip()
if len(value) > 100:
print len(value)
value = "\n" + textwrap.fill(value, 100, initial_indent=' ', subsequent_indent=' ') + "\n"
str_rep += "%s: %s\n" % (k, value)
else:
str_rep = "Problem parsing rki file!"
tkinter_display_str(basename(rki_path), str_rep)
return
def main(rki_filenames):
for rki_filename in rki_filenames:
rji_filename = abspath(rki_filename)
view_rki(rki_filename)
return
if __name__ == "__main__":
if len(sys.argv) > 1:
main(sys.argv[1:])