"""
 
  Views RK files in a TK window.


"""
import sys
from os.path import basename, abspath, join, dirname
from Tkinter import *

import rk


def tkinter_display_str(rki_filename, msg):
  root = Tk()
  root.iconbitmap(abspath(join(dirname(__file__), "corona.ico")))  
  text = Text(root, width=120, 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 d.keys():
    k = str(key).strip().ljust(30)
    value = d[key]
    value = str(value).strip()
    if len(value) > 116:
      value = "\n" + textwrap.fill(value, 100, initial_indent='    ', subsequent_indent='    ') + "\n"
    str_rep += "%s: %s\n" % (k, value)
  return str_rep



def view_rk(rk_path):
  str_rep = ""
  rk_obj = rk.parseRK(rk_path)
  if rk_obj is not None:
    #for key in rk_obj.keys():
    #  str_rep += "%s %s\n" % (key, rk_obj[key])
    str_rep = dict_to_str(rk_obj)
  else:
    str_rep = "Problem parsing rk file! %s" % rk_path
  tkinter_display_str(basename(rk_path), str_rep)
  return


def main(rk_filenames):
  for rk_filename in rk_filenames:
    rk_filename = abspath(rk_filename)
    view_rk(rk_filename)    
  return


if __name__ == "__main__":
  if len(sys.argv) > 1:
    main(sys.argv[1:])
