File size: 1,689 Bytes
d112e03
 
 
 
 
 
d70b6d1
d112e03
a1ecdea
 
2768c19
a1ecdea
 
 
 
 
 
 
 
 
 
 
 
 
2768c19
 
7a3bb8b
a1ecdea
2768c19
 
 
 
 
a1ecdea
 
d112e03
f471cec
72f5237
 
 
 
 
d112e03
 
2768c19
d112e03
2768c19
f471cec
 
 
d112e03
f471cec
d112e03
9c554b3
d112e03
a1ecdea
d112e03
556dd4e
d112e03
f471cec
 
 
 
 
 
 
508cff5
e84c3c9
508cff5
556dd4e
ba07bb9
f471cec
 
 
 
ef85d88
 
 
 
3110e0f
f471cec
 
7b0a13a
ef85d88
d112e03
f471cec
 
7b0a13a
b570630
d112e03
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import gradio as gr

from queue import PriorityQueue

from datetime import datetime

pq = PriorityQueue()

date_format = '%m-%d-%Y at %H:%M'


def writer(pair):

    final = pair[1] + ' is due on '    
    final += f'{pair[0].month:02}-{pair[0].day:02}-{pair[0].year} at '
    final += f'{pair[0].hour:02}:{pair[0].minute:02}'

    return final


def string_rep(pq):

    work = ""

    temp = PriorityQueue()

    while not pq.empty():

       elem = pq.get()
       temp.put(elem)
       work += writer(element) + '\n'

    pq.queue = temp.queue

    return work


def inputter(date_str = None, item_name = None, add = "Show"):

    if add == "Show":

        return string_rep(pq)

    cur_date = datetime.strptime(date_str, date_format)
    item_name = item_name.strip()

    element = 
    if add == "Add":

        pq.put((cur_date, item_name))

    else:

        remove((cur_date, item_name))

    return string_rep(pq)



def remove(element):

    temp = PriorityQueue()

    while not pq.empty():

        elem = pq.get()
        if elem != element:
            
            temp.put(elem)

    pq.queue = temp.queue




datebox = gr.Textbox(label="Enter your date here:", placeholder="MM-DD-YYYY at HH:MM")

hwbox = gr.Textbox(label="Enter your assignment name here:", placeholder="Homework")

addbox = gr.Textbox(label="Add or Drop or Show:", placeholder="Add or Drop or Show (Case Sensitive)")


ouputbox = gr.Textbox(label="List of Assignments:", placeholder="Homework is due on MM-DD-YYYY at HH:MM", lines  = 10)

iface = gr.Interface(
    fn=inputter,  
    inputs=[datebox, hwbox, addbox],  
    outputs=ouputbox,  
    title="Homework Prioritzer",
)

iface.launch()