def __init__(self, parent, ts, user, show_msec=True, update_interval=1000, reverse_time=False, use_sound=False): Frame.__init__(self, parent) parent.title("MorbidMeter") self.ts = ts self.user=user self.show_msec = show_msec self.update_interval = update_interval self.reverse_time = reverse_time self.use_sound = use_sound self.v = StringVar() self.v.set(self.format_time()) self.label = Label(self, textvariable=self.v) self.update_label() icon_name = 'skull' self.sound_on = True if os_is_windows(): icon_file = icon_name + '.ico' else: icon_file = '@' + icon_name + '.xbm' try: parent.iconbitmap(icon_file) except TclError: print 'No ico file found.' parent.minsize(250,0)
def parse_options(): program_name = "MorbidMeter" short_program_name = "mm" version = "0.3.0" if os_is_windows(): program_invocation = "python " + short_program_name + ".py" else: program_invocation = "./mm" usage = "usage: " + program_invocation + " [options]" parser = OptionParser(usage=usage, version=program_name + " version " + version) parser.add_option("-i", "--interactive", action="store_true", dest="interactive", default=False, help="run morbidmeter in interactive mode") parser.add_option("--gui", action="store_true", dest="gui", default=False, help="run gui version of program") parser.add_option("--msec", action="store_true", dest="show_msec", default=False, help="show msec (when available)") parser.add_option("--example", action="store_true", dest="example", default=False, help="show an example of how morbidmeter works") parser.add_option("-t", "--timescale", action="store", type="string", dest="timescale", default="year", help="set time scale") parser.add_option("--interval", action="store", type="int", dest="interval", default=1000, help="set update time interval in msec") parser.add_option("-u", "--user", action="store", type="string", dest="user", help="select user, new if blank") parser.add_option("--reset", action="store_true", dest="reset_user", default=False, help="reset user information") parser.add_option("-r", "--reverse", action="store_true", dest="reverse_time", default=False, help="display time remaining") parser.add_option("--sound", action="store_true", dest="use_sound", default=False, help="play sounds on the hour") parser.add_option("-p", "--print", action="store_true", dest="print_info", default=False, help="print current user data") parser.add_option("-z", "--zen", action="store_true", dest="zen", default=False) (options, args) = parser.parse_args() # check available timescales if (options.timescale not in ["year", "day", "hour", "month", "percent", "universe", "age"]): print "Timescale", options.timescale, "not supported." return if (options.example): example() elif (options.interactive): interactive(options.show_msec, options.timescale, options.interval, options.reset_user, options.reverse_time) elif (options.gui): gui(options.show_msec, options.timescale, options.interval, options.reset_user, options.reverse_time, options.use_sound) elif (options.zen): zen() elif (options.print_info): print_user() else: print "Right now morbidmeter doesn't do much, but rerun as: " print program_invocation + " --example" print "or as " print program_invocation + " --interactive" print "or as " print program_invocation + " --gui" print "to see what it will do."