def tcl_list_min(): DATA = get_DATA() # return standard dictionary object DATA E_DICT = DATA["events"] # extract event dictionary RET = [] # return string list def list_events(key): # key in yearly, monthly, weekly, daily, no-repeat DEFAULTS = E_DICT[key]["default"] TODOS = E_DICT[key]["todo"] RET.append("{key_str:-^35}".format(key_str=key)) for e in DEFAULTS: RET.append("* {e_name:<30}".format(e_name=e["name"])) for e in TODOS: mark = tc_meta.check_mark if e[ "done"] == "yes" else tc_meta.cross_mark RET.append("* {e_name:<30} {mark_s}".format(e_name=e["name"], mark_s=mark)) return 0 for key in ["yearly", "monthly", "weekly", "daily", "no-repeat"]: list_events(key) counter = 0 for i in range(len(RET)): if RET[i][0] != '-': counter += 1 RET[i] = ("[{count:0>2}] ".format(count=str(counter))) + RET[i] else: RET[i] = tc_meta.color_white + RET[i] + tc_meta.color_reset return RET
def print_week_all (): TIME_INFO = tc_time.get_time_info () DATA = tc_data.get_DATA () summary_defaults = tc_handler.summarize_defaults (DATA, TIME_INFO) summary_todos = tc_handler.summarize_todos (DATA, TIME_INFO) to_be_done = [e for e in summary_todos if e ["done"] == "no"] the_rest = [e for e in summary_todos if e ["done"] == "yes"] + summary_defaults summary = tc_handler.sort (to_be_done) + tc_handler.sort (the_rest) for e in summary: try: if e ["done"] == "yes": done_mark = __check_mark else: done_mark = __cross_mark except: done_mark = ' ' print (u'\u001b[38;5;' + e ["color"] + 'm' + "{month:>2}/{day:<2} {time:<5} {name:.>30} {done}".format ( month = e ["month"], day = e ["day"], time = __hour_to_time (e ["hour"]), name = e ["name"], done = done_mark ) + u'\u001b[0m') return 0
def print_week_defaults (): TIME_INFO = tc_time.get_time_info () DATA = tc_data.get_DATA () summary = tc_handler.summarize_defaults (DATA, TIME_INFO) for e in summary: print (u'\u001b[38;5;' + e ["color"] + 'm' + "{month:>2}/{day:<2} {time:<5} {name:.>30}".format ( month = e ["month"], day = e ["day"], time = __hour_to_time (e ["hour"]), name = e ["name"] ) + u'\u001b[0m') return 0
def print_week_todos (): TIME_INFO = tc_time.get_time_info () DATA = tc_data.get_DATA () summary = tc_handler.summarize_todos (DATA, TIME_INFO) for e in summary: print (u'\u001b[38;5;' + e ["color"] + 'm' + "{month:>2}/{day:<2} {time:<5} {name:.>30} {done}".format ( month = e ["month"], day = e ["day"], time = __hour_to_time (e ["hour"]), name = e ["name"], done = __check_mark if e ["done"] == "yes" else __cross_mark ) + u'\u001b[0m') return 0
def pass_info (): TIME_INFO = tc_time.get_time_info () DATA = tc_data.get_DATA () summary_defaults = tc_handler.summarize_defaults (DATA, TIME_INFO) summary_todos = tc_handler.summarize_todos (DATA, TIME_INFO) summary = summary_defaults + summary_todos # not-sorted for e in summary: try: if e ["done"] == "yes": e ["mark"] = __check_mark else: e ["mark"] = __cross_mark except: e ["mark"] = '' return (summary, DATA ['meta'] ['dimension'], TIME_INFO)
def tcl_list_all(): DATA = get_DATA() # return standard dictionary object DATA E_DICT = DATA["events"] # extract event dictionary RET = [] # return string list # list yearly events RET.append("{key_str:-^50}".format(key_str="yearly")) for e in E_DICT["yearly"]["default"]: RET.append("* {e_name:<30} {e_month:>2}/{e_day:<2}".format( e_name=e["name"], e_month=e["month"], e_day=e["day"])) for e in E_DICT["yearly"]["todo"]: mark = tc_meta.check_mark if e["done"] == "yes" else tc_meta.cross_mark RET.append("* {e_name:<30} {e_month:>2}/{e_day:<2} {mark_s}".format( e_name=e["name"], e_month=e["month"], e_day=e["day"], mark_s=mark)) # list monthly events RET.append("{key_str:-^50}".format(key_str="monthly")) for e in E_DICT["monthly"]["default"]: RET.append("* {e_name:<30} {e_month:>2}/{e_day:<2}".format( e_name=e["name"], e_month='--', e_day=e["day"])) for e in E_DICT["monthly"]["todo"]: mark = tc_meta.check_mark if e["done"] == "yes" else tc_meta.cross_mark RET.append("* {e_name:<30} {e_month:>2}/{e_day:<2} {mark_s}".format( e_name=e["name"], e_month='--', e_day=e["day"], mark_s=mark)) # list weekly events RET.append("{key_str:-^50}".format(key_str="weekly")) WD = { 0: "Sun", 1: "Mon", 2: "Tue", 3: "Wed", 4: "Thur", 5: "Fri", 6: "Sat" } for e in E_DICT["weekly"]["default"]: RET.append("* {e_name:<30} {e_weekday:<4}".format(e_name=e["name"], e_weekday=WD[int( e["day"])])) for e in E_DICT["weekly"]["todo"]: mark = tc_meta.check_mark if e["done"] == "yes" else tc_meta.cross_mark RET.append("* {e_name:<30} {e_weekday:<4} {mark_s}".format( e_name=e["name"], e_weekday=WD[int(e["day"])], mark_s=mark)) # list daily events RET.append("{key_str:-^50}".format(key_str="daily")) def make_hour_str(hour): # raw hour string from DATA object hm_l = [s.strip() for s in hour.split(' ')] if len(hm_l) == 1: return "{h:>2}:{m:<2}".format(h=hm_l[0], m="00") else: return "{h:>2}:{m:0<2}".format(h=hm_l[0], m=hm_l[1]) for e in E_DICT["daily"]["default"]: RET.append("* {e_name:<30} {e_time}".format(e_name=e["name"], e_time=make_hour_str( e["hour"]))) for e in E_DICT["daily"]["todo"]: mark = tc_meta.check_mark if e["done"] == "yes" else tc_meta.cross_mark RET.append("* {e_name:<30} {e_time} {mark_s}".format( e_name=e["name"], e_time=make_hour_str(e["hour"]), mark_s=mark)) # list no-repeat events RET.append("{key_str:-^50}".format(key_str="no-repeat")) for e in E_DICT["no-repeat"]["default"]: RET.append("* {e_name:<30} {e_month:>2}/{e_day:<2} {e_time}".format( e_name=e["name"], e_month=e["month"], e_day=e["day"], e_time=make_hour_str(e["hour"]))) for e in E_DICT["no-repeat"]["todo"]: mark = tc_meta.check_mark if e["done"] == "yes" else tc_meta.cross_mark RET.append( "* {e_name:<30} {e_month:>2}/{e_day:<2} {e_time} {mark_s}".format( e_name=e["name"], e_month=e["month"], e_day=e["day"], e_time=make_hour_str(e["hour"]), mark_s=mark)) counter = 0 for i in range(len(RET)): if RET[i][0] != '-': counter += 1 RET[i] = ("[{count:0>2}] ".format(count=str(counter))) + RET[i] else: RET[i] = tc_meta.color_white + RET[i] + tc_meta.color_reset return RET