def generateDaySlots(weekOf, startTime, type):
    daySlots = ""
    day = datetime.datetime.combine(weekOf, startTime)

    for i in range(0, 5):
        entries = db.getEntries(day.date(), startTime, type)
        quantity = db.getResourceQuantity(type)

        if entries:
            daySlots += "<td class='tFilled'>"
        else:
            daySlots += "<td class='tBordered'>&nbsp;"

        for entry in entries:
            daySlots += "<div class='entry'>"
            daySlots += db.getTeacherName(entry[7])
            daySlots += " (%(q)d)" % {"q": entry[5]}
            daySlots += "</div>"
            quantity -= entry[5]

        if entries:
            daySlots += "<div class='leftEntryAfter'>%(q)d left</div>" % {"q": quantity}

        daySlots += "</td>"

        day = day + datetime.timedelta(days=1)

    return daySlots
def backupTimeslot(type, weekOf, startTime):
    tstr = startTime.strftime("%I:%M") + ","
    day = datetime.datetime.combine(weekOf, startTime)

    for i in range(0, 5):
        tstr += '"'
        entries = db.getEntries(day.date(), startTime, type)
        for entry in entries:
            tstr += db.getTeacherName(entry[7]) + " (" + str(entry[5]) + ")\n"
        day = day + datetime.timedelta(days=1)
        tstr += '"'
        if i != 4:
            tstr += ","

    tstr += "\n"

    return tstr
def generateSignoutDaySlots(weekOf, startTime, type):
    daySlots = ""
    day = datetime.datetime.combine(weekOf, startTime)
    currentUser = authGetID()
    
    for i in range(0, 5):
        entries = db.getEntries(day.date(), startTime, type)
        quantity = db.getResourceQuantity(type)
        currentUserInBox = 0
        
        for entry in entries:
            if db.getTeacherName(entry[7]) == currentUser:
                currentUserInBox = entry[5]
            quantity -= entry[5]
        
        if entries:
            if currentUserInBox:
                daySlots += "<td class='tFilled tSignout ts' "
            else:
                daySlots += "<td class='tFilled ts' "
        else:
            daySlots += "<td class='ts' "
        
        daySlots += " onclick='signout(\"" + currentUser + "\"," + str(currentUserInBox) + "," + str(quantity) + ", \"" + day.strftime("%Y-%m-%d") + "\",\"" + startTime.strftime("%I:%M") + "\")'>"
        
        if not entries:
            daySlots += "&nbsp;"

        for entry in entries:
            if db.getTeacherName(entry[7]) == currentUser:
                daySlots += "<div class='signoutEntry'>"
            else:
                daySlots += "<div class='entry'>"
            daySlots += db.getTeacherName(entry[7])
            daySlots += " (%(q)d)" % {"q": entry[5]}
            daySlots += "</div>"
        
        if entries:
            daySlots += "<div class='leftEntryAfter'>%(q)d left</div>" % {"q": quantity}
        
        daySlots += "</td>"
        
        day = day + datetime.timedelta(days=1)
    
    return daySlots
Example #4
0
 def printEntries(self, all=True, website=None):
     self.entries = list(getEntries(self._id))
     print(self.entries)
     i = 1
     if (all):
         print("===================================================")
         for obj in self.entries:
             print("Password Index : " + str(i))
             print("Username : "******"username"])
             print("Password : "******"password"])
             print("Website : " + obj["website"])
             print("===================================================")
             i += 1
         return
     i = 0
     for obj in self.entries:
         i += 1
         if (website == obj["website"]):
             print("Password Index : " + str(i))
             print("Username : "******"username"])
             print("Password : "******"password"])
             print("Website : " + obj["website"])
             print("===================================================")
Example #5
0
def displayEndGame(screen, clock, avatarNum, bCount, ourHUD):
    """
    Final end game screen, connects to SQL database hosted with AWS and displays recent games.
    """
    nameSwitch = {1: "Jason", 2: "Kunal", 3: "Wes", 4: "Heidi"} 
    db.addEntry(nameSwitch[avatarNum], ourHUD.getCreditScore(), ourHUD.getBalance(), ourHUD.getHapiness())

    while (True):
        if (bCount >= 0 and bCount < 10): 
            backgroundImg = pygame.image.load('Assets/background_image.png')
            screen.blit(backgroundImg, (0, 0))
        if (bCount >= 10 and bCount < 20):
            backgroundImg = pygame.image.load('Assets/background_image_1.png')
            screen.blit(backgroundImg, (0, 0))
        if (bCount >= 20 and bCount < 30):
            backgroundImg = pygame.image.load('Assets/background_image_2.png')
            screen.blit(backgroundImg, (0, 0))

        grayBG = pygame.Surface((600, 400))
        grayBG.set_alpha(128)
        grayBG.fill((105, 105, 105))
        screen.blit(grayBG, (100, 125))

        leaders = db.getEntries()
        numSwitch = {"Jason" : 1, "Kunal" : 2, "Wes" : 3, "Heidi" : 4} 
        person1 = pygame.image.load('Assets/person' + str(numSwitch[leaders[0]['name']]) +'.png')
        person2 = pygame.image.load('Assets/person' + str(numSwitch[leaders[1]['name']]) +'.png')
        person3 = pygame.image.load('Assets/person' + str(numSwitch[leaders[2]['name']]) +'.png')

        screen.blit(person1, (175, 150))
        screen.blit(person2, (175, 275))
        screen.blit(person3, (175, 400))

        fontTitlerecent = pygame.font.Font("Assets/Minecraft.ttf", 48)
        textTitlerecent = fontTitlerecent.render("Recent Games", True, (0, 0, 0))
        screen.blit(textTitlerecent, (225, 75))

        fontTitle1name = pygame.font.Font("Assets/Minecraft.ttf", 32)
        textTitle1name = fontTitle1name.render(leaders[0]['name'], True, (0, 0, 0))
        screen.blit(textTitle1name, (325, 175))

        fontTitle1 = pygame.font.Font("Assets/Minecraft.ttf", 32)
        textTitle1 = fontTitle1.render("$ %s" % leaders[0]['balance'], True, (0, 0, 0))
        screen.blit(textTitle1, (500, 175))

        fontTitle2name = pygame.font.Font("Assets/Minecraft.ttf", 32)
        textTitle2name = fontTitle2name.render(leaders[1]['name'], True, (0, 0, 0))
        screen.blit(textTitle2name, (325, 300))

        fontTitle2 = pygame.font.Font("Assets/Minecraft.ttf", 32)
        textTitle2 = fontTitle2.render("$ %s" % leaders[1]['balance'], True, (0, 0, 0))
        screen.blit(textTitle2, (500, 300))

        fontTitle3name = pygame.font.Font("Assets/Minecraft.ttf", 32)
        textTitle3name = fontTitle3name.render(leaders[2]['name'], True, (0, 0, 0))
        screen.blit(textTitle3name, (325, 425))

        fontTitle3 = pygame.font.Font("Assets/Minecraft.ttf", 32)
        textTitle3 = fontTitle3.render("$ %s" % leaders[2]['balance'], True, (0, 0, 0))
        screen.blit(textTitle3, (500, 425))

        bCount = bCount + 1
        if (bCount == 30):
            bCount = 0
        time_passed = clock.tick(50)
        for event in pygame.event.get():
            if (event.type == pygame.QUIT):
                return False
        pygame.display.update()
Example #6
0
    def show_entries(self, all=True):

        self.clear()
        # TODO: add PanedWindow to show list of buttons, beside them add Entries which will be editable and save changes
        #  button down those entries.
        search_value = tk.StringVar()

        paned_window = tk.PanedWindow(self.frame, orient=tk.VERTICAL)
        paned_window.pack(fill=tk.BOTH, expand=True)

        top_frame = tk.Frame(paned_window,
                             width=300,
                             height=20,
                             relief=tk.SUNKEN)

        search_label = tk.Label(top_frame,
                                text='Search entry by website',
                                font=('calibre', 15, 'bold'))
        search_entry = tk.Entry(top_frame,
                                textvariable=search_value,
                                bd=4,
                                width=50,
                                font=('calibre', 10, 'normal'))
        search_button = tk.Button(top_frame,
                                  text='Search Entry',
                                  bg='white',
                                  bd=3,
                                  font=('calibre', 12, 'bold'),
                                  width=50,
                                  command=lambda: self.search(search_value))

        search_label.pack(side=tk.TOP, fill=tk.BOTH)
        search_entry.pack(side=tk.LEFT,
                          ipadx=0,
                          ipady=0,
                          fill=tk.BOTH,
                          expand=True)
        search_button.pack(side=tk.RIGHT, fill=tk.BOTH)

        self.entries = list(getEntries(self._id))

        bottom_frame = tk.Frame(paned_window,
                                width=300,
                                height=500,
                                relief=tk.SUNKEN)

        listbox = tk.Listbox(bottom_frame, width=40)
        scrollbar = tk.Scrollbar(bottom_frame)
        listbox.pack(side=tk.LEFT, fill=tk.BOTH)
        scrollbar.pack(side=tk.LEFT, fill=tk.BOTH)

        listbox.config(yscrollcommand=scrollbar.set)
        scrollbar.config(command=listbox.yview)

        name_label = tk.Label(bottom_frame,
                              text='Username',
                              font=('calibre', 12, 'bold'))
        name_var = tk.StringVar()
        name = tk.Entry(bottom_frame,
                        bd=4,
                        width=50,
                        textvariable=name_var,
                        font=('calibre', 10, 'normal'))

        pass_label = tk.Label(bottom_frame,
                              text='Password',
                              font=('calibre', 12, 'bold'))
        password_var = tk.StringVar()
        passw = tk.Entry(bottom_frame,
                         bd=4,
                         width=50,
                         textvariable=password_var,
                         font=('calibre', 10, 'normal'))

        web_label = tk.Label(bottom_frame,
                             text='Website',
                             font=('calibre', 12, 'bold'))
        web_var = tk.StringVar()
        web = tk.Label(bottom_frame,
                       bd=5,
                       width=50,
                       textvariable=web_var,
                       bg='white',
                       font=('calibre', 11, 'normal'))

        name_label.pack(side=tk.TOP, fill=tk.BOTH)
        name.pack(side=tk.TOP, fill=tk.BOTH)
        pass_label.pack(side=tk.TOP, fill=tk.BOTH)
        passw.pack(side=tk.TOP, fill=tk.BOTH)
        web_label.pack(side=tk.TOP, fill=tk.BOTH)
        web.pack(side=tk.TOP, fill=tk.BOTH)
        back = tk.Button(bottom_frame,
                         text='Back',
                         bg='white',
                         bd=4,
                         font=('calibre', 12, 'bold'),
                         command=self.show_options)
        update_button = tk.Button(
            bottom_frame,
            text='Update',
            bd=4,
            font=('calibre', 12, 'bold'),
            command=lambda: self.update(name_var.get(), password_var.get(),
                                        web_var.get()))

        back.pack(side=tk.BOTTOM, fill=tk.BOTH)
        update_button.pack(side=tk.BOTTOM, fill=tk.BOTH)
        i = 0
        if all:
            for obj in self.entries:
                web_name = obj['website']
                listbox.insert(i, web_name)
                i += 1

        paned_window.add(top_frame)
        paned_window.add(bottom_frame)

        def items_selected(event):

            selected_indices = listbox.curselection()

            selected_langs = ",".join(
                [listbox.get(i) for i in selected_indices])
            self.msg = selected_langs

            result = list(
                Record(username='',
                       password='',
                       website='',
                       search_value=self.msg).search())
            dictionary = result[0]

            user_name = dictionary['username']
            password = dictionary['password']
            website = dictionary['website']

            name_var.set(user_name)
            password_var.set(password)
            web_var.set(website)

        listbox.bind('<<ListboxSelect>>', items_selected)
Example #7
0
def handleEntryRequest():
    if request.method=='GET':
        return json.dumps(db.getEntries())
    else:
        return `db.addEntry(request.json['name'])`