def generate_content(self): import json from operator import itemgetter data = f_read_json('awards') self.add_title(self.title) for a in self.awards: award_show(self,a,data,self.icon)
def add_award(name, award): data = f_read_json('awards') if award not in data: data[award] = {} if name in data[award]: data[award][name] += 1 else: data[award][name] = 1 with open(join(expanduser('~'), '.klb/awards'), 'w+') as f: json.dump(data, f)
def generate_content(self): import json from operator import itemgetter data = f_read_json('flat_points') larg = 0 seco = 0 for house in data: pts = int(data[house]) if pts > larg: seco = larg larg = pts elif pts > seco: seco = pts log = len(str(seco)) - 3 points_names = ["points", "decapoints", "hectopoints", "kilopoints"] if log >= len(points_names): log = len(points_names) - 1 if log < 0: log = 0 if "mike" in data: mike = points_format(data["mike"], log) else: mike = "0" if "scroggs" in data: scroggs = points_format(data["scroggs"], log) else: scroggs = "0" if "adam" in data: adam = points_format(data["adam"], log) else: adam = "0" if "alan" in data: alan = points_format(data["alan"], log) else: alan = "0" self.add_title("Flat " + points_names[log]) self.move_cursor(x=0, y=7) self.add_title(mike, bg="LIGHTGREEN", fg="BLACK") self.move_cursor(x=2, y=13) self.add_text("Mike", fg="LIGHTGREEN") self.move_cursor(x=40, y=7) self.add_title(scroggs, bg="LIGHTBLUE", fg="BLACK", pre=40) self.move_cursor(x=42, y=13) self.add_text("Scroggs", fg="LIGHTBLUE") self.move_cursor(x=0, y=15) self.add_title(adam, bg="YELLOW", fg="BLACK") self.move_cursor(x=2, y=21) self.add_text("Adam", fg="YELLOW") self.move_cursor(x=40, y=15) self.add_title(alan, bg="PINK", fg="BLACK", pre=40) self.move_cursor(x=42, y=21) self.add_text("Alan", fg="PINK")
def generate_content(self): import json from operator import itemgetter data = f_read_json('flat_points') larg = 0 seco = 0 for house in data: pts = int(data[house]) if pts>larg: seco = larg larg = pts elif pts>seco: seco = pts log = len(str(seco))-3 points_names = ["points","decapoints","hectopoints","kilopoints"] if log>=len(points_names): log = len(points_names)-1 if log<0: log = 0 if "mike" in data: mike = points_format(data["mike"],log) else: mike = "0" if "scroggs" in data: scroggs = points_format(data["scroggs"],log) else: scroggs = "0" if "adam" in data: adam = points_format(data["adam"],log) else: adam = "0" if "alan" in data: alan = points_format(data["alan"],log) else: alan = "0" content = self.colours.colour_print(printer.text_to_ascii("Flat "+points_names[log])) content += "\n\n" content += self.colours.colour_print_join([ (printer.text_to_ascii(mike,False)+"\n Mike", self.colours.Background.GREEN+self.colours.Style.BLINK, self.colours.Foreground.BLACK), (printer.text_to_ascii(scroggs,False)+"\n Scroggs", self.colours.Background.BLUE+self.colours.Style.BLINK, self.colours.Foreground.BLACK) ]," "," ") content += "\n\n" content += self.colours.colour_print_join([ (printer.text_to_ascii(adam,False)+"\n Adam", self.colours.Background.YELLOW+self.colours.Style.BLINK, self.colours.Foreground.BLACK), (printer.text_to_ascii(alan,False)+"\n Alan", self.colours.Background.MAGENTA, self.colours.Foreground.BLACK) ]," "," ") self.content = content
def generate_content(self): self.add_title("OXMAS " + self._name, fg="GREEN", bg="BLACK") ls = [p for p in f_read_json("db.json") if self.test(p)] self.add_newline() self.start_fg_color("GREEN") self.add_text(str(len(ls))) self.end_fg_color() self.add_text(" people are " + self.verb) self.add_newline() i = 0 for person in ls: self.add_text(person["name"][1] + " (" + person["name"][0] + ")") if i % 2 == 0: self.move_cursor(x=35) else: self.add_newline() i += 1
def generate_content(self): import json from operator import itemgetter data = f_read_json('awards') self.add_title("The most awards") for a,b in data.items(): m = 0 mp = "" for person,n in b.items(): if n > m: m = n mp = person elif n==m: mp += " & " + person self.add_newline() self.add_text(a,fg="GREEN") self.add_text(" (see page "+str(get_page(a))+") ") self.add_text(mp,fg="RED")
def background(self): birthdays = f_read_json("birthdays.json") more_birthdays = { "Kathleen Lonsdale": (1, 28), "Martin Gardner": (10, 21), "Jesus": (12, 25), "Jigsaw": (1, 3), "The Queen": (4, 21), "Chalkdust": (1, 27), "ScroggsBot": (1, 10) } for birth in more_birthdays: birthdays[birth] = more_birthdays[birth] self.c_b = {} self.months = { 1: "January", 2: "February", 3: "March", 4: "April", 5: "May", 6: "June", 7: "July", 8: "August", 9: "September", 10: "October", 11: "November", 12: "December" } for i in range(1, 13): self.c_b[i] = {} for person in birthdays: bp = birthdays[person] if bp is not None: if bp[1] not in self.c_b[bp[0]]: self.c_b[bp[0]][bp[1]] = person else: self.c_b[bp[0]][bp[1]] += " & " + person
def generate_content(self): import json from operator import itemgetter data = f_read_json('points') larg = 0 seco = 0 for house in data: pts = int(data[house]) if pts>larg: seco = larg larg = pts elif pts>seco: seco = pts log = len(str(seco))-3 points_names = ["points","decapoints","hectopoints","kilopoints"] if log>=len(points_names): log = len(points_names)-1 if log<0: log = 0 if "Gryffindor" in data: g = points_format(data["Gryffindor"],log) else: g = "0" if "Hufflepuff" in data: h = points_format(data["Hufflepuff"],log) else: h = "0" if "Slytherin" in data: s = points_format(data["Slytherin"],log) else: s = "0" if "Squib" in data: sq = points_format(data["Squib"],log) else: sq = "0" if "Ravenclaw" in data: r = points_format(data["Ravenclaw"],log) else: r = "0" if "Durmstrang" in data: d = points_format(data["Durmstrang"],log) else: d = "0" content = self.colours.colour_print(printer.text_to_ascii(points_names[log])) content += "\nWhat do points mean?\n" content += self.colours.colour_print_join([ (printer.text_to_ascii(g,False)+"\nGryffindor", self.colours.Background.RED, self.colours.Foreground.YELLOW+self.colours.Style.BOLD), (printer.text_to_ascii(s,False)+"\nSlytherin", self.colours.Style.BLINK, self.colours.Foreground.GREEN), (printer.text_to_ascii(sq,False)+"\nSquib", self.colours.Background.BLUE, self.colours.Foreground.MAGENTA) ]," "," ") content += "\n" content += self.colours.colour_print_join([ (printer.text_to_ascii(r,False)+"\nRavenclaw", self.colours.Background.BLUE, self.colours.Foreground.WHITE+self.colours.Style.BOLD), (printer.text_to_ascii(h,False)+"\nHufflepuff", self.colours.Style.BLINK, self.colours.Foreground.YELLOW+self.colours.Style.BOLD), (printer.text_to_ascii(d,False)+"\nDurmstrang", self.colours.Background.GREEN, self.colours.Foreground.RED) ]," "," ") content += "\n" sorted_pts = sorted(data.items(),key=itemgetter(1),reverse=True) content += "Full List\n" i=0 for house,points in sorted_pts: i+=1 content += self.colours.Foreground.YELLOW + house + self.colours.Foreground.DEFAULT content += " " content += self.colours.Foreground.GREEN + str(points) + self.colours.Foreground.DEFAULT if i%5==0: content += "\n" else: content += " " self.content = content
def generate_content(self): import json from operator import itemgetter data = f_read_json('points') larg = 0 seco = 0 for house in data: pts = int(data[house]) if pts > larg: seco = larg larg = pts elif pts > seco: seco = pts log = len(str(seco)) - 3 points_names = ["points", "decapoints", "hectopoints", "kilopoints"] if log >= len(points_names): log = len(points_names) - 1 if log < 0: log = 0 if "Gryffindor" in data: g = points_format(data["Gryffindor"], log) else: g = "0" if "Hufflepuff" in data: h = points_format(data["Hufflepuff"], log) else: h = "0" if "Slytherin" in data: s = points_format(data["Slytherin"], log) else: s = "0" if "Squib" in data: sq = points_format(data["Squib"], log) else: sq = "0" if "Ravenclaw" in data: r = points_format(data["Ravenclaw"], log) else: r = "0" if "Durmstrang" in data: d = points_format(data["Durmstrang"], log) else: d = "0" if "Postdoc" in data: po = points_format(data["Postdoc"], log) else: po = "0" self.add_title(points_names[log]) self.add_text("What do points mean?") self.move_cursor(x=0, y=8) self.add_title(g, fg="YELLOW", bg="RED", fill=False) self.move_cursor(x=0, y=15) self.add_text("Gryffindor", fg="YELLOW", bg="RED") self.move_cursor(x=27, y=8) self.add_title(s, fg="GREEN", bg="GREY", fill=False, pre=27) self.move_cursor(x=27, y=15) self.add_text("Slytherin", fg="GREEN", bg="GREY") self.move_cursor(x=54, y=8) self.add_title(sq, fg="PINK", bg="BLUE", fill=False, pre=54) self.move_cursor(x=54, y=15) self.add_text("Squib", fg="PINK", bg="BLUE") self.move_cursor(x=0, y=16) self.add_title(r, fg="BRIGHTWHITE", bg="BLUE", fill=False) self.move_cursor(x=0, y=23) self.add_text("Ravenclaw", fg="BRIGHTWHITE", bg="BLUE") self.move_cursor(x=27, y=16) self.add_title(h, fg="YELLOW", bg="GREY", fill=False, pre=27) self.move_cursor(x=27, y=23) self.add_text("Hufflepuff", fg="YELLOW", bg="GREY") if config.NAME == "KLBFAX": self.move_cursor(x=54, y=16) self.add_title(d, fg="RED", bg="GREEN", fill=False, pre=54) self.move_cursor(x=54, y=23) self.add_text("Durmstrang", fg="RED", bg="GREEN") else: self.move_cursor(x=54, y=16) self.add_title(po, fg="RED", bg="GREEN", fill=False, pre=54) self.move_cursor(x=54, y=23) self.add_text("Postdoc", fg="RED", bg="GREEN") self.add_newline() sorted_pts = sorted(data.items(), key=itemgetter(1), reverse=True) self.add_rainbow_text("Full List") self.add_newline() i = 0 for house, points in sorted_pts: i += 1 self.add_text(house, fg="YELLOW") self.add_text(" ") self.add_text(str(points), fg="GREEN") if i % 5 == 0: self.add_newline() else: self.add_text(" ")
from page import Page from colours import colour_print from printer import instance as printer from random import choice from datetime import date import json import config import logging import sys from file_handler import f_read_json birthdays = f_read_json("birthdays.json") more_birthdays = { "Kathleen Lonsdale": (1, 28), "Martin Gardner": (10, 21), "Jesus": (12, 25), "Jigsaw": (1, 3), "Chalkdust": (1, 27), "ScroggsBot": (1, 10) } for birth in more_birthdays: birthdays[birth] = more_birthdays[birth] c_b = {} months = {1:"January",2:"February",3:"March",4:"April",5:"May",6:"June",7:"July",8:"August",9:"September",10:"October",11:"November",12:"December"} for i in range(1,13):