def __init__(self, tkschedule):
     self._tkschedule = tkschedule
     self._root = tk.Tk()
     self._root.protocol('WM_DELETE_WINDOW', self._destroy)
     self._root.minsize(300, 300)
     utils.init_root_options(self._root)
     utils.init_theme()
     self._tkschedule._root_tracker.add_root(self._root)
     
     self._frame = tk.Frame(self._root)
     utils.configure_frame(self._root, colspan = 1)
     self._root.rowconfigure(0, weight = 1)
     self._frame.grid(row = 0, column = 0, sticky = tk.NSEW)
     utils.configure_frame(self._frame, colspan = 2)
     for i in range(3):
         self._frame.rowconfigure(i + 2, weight = 1)
     
     utils.create_title(self._frame, 'Edit Schedule', colspan = 2)
     
     name = utils.create_labeled_entry(self._frame, 'Name: ', 2, insert = tkschedule._schedule.name)
     units = utils.create_labeled_entry(self._frame, 'Units: ', 3, insert = tkschedule._schedule.units)
     gpa = utils.create_labeled_entry(self._frame, 'GPA: ', 4, insert = tkschedule._schedule.gpa)
     
     buttons_frame = tk.Frame(self._frame)
     buttons_frame.grid(row = 5, column = 0, columnspan = 2, sticky = tk.NSEW)
     for i in range(2):
         buttons_frame.columnconfigure(i, weight = 1, uniform = 'button')
         
     utils.create_button(buttons_frame, 'Update Schedule', self._update, 5, 0)
     utils.create_button(buttons_frame, 'Cancel', self._cancel, 5, 1)
     
     self._root.mainloop()
    def __init__(self, root, root_frame, start_page):

        self._root = root
        self._start_page = start_page
        self._root_frame = root_frame

        self._frame = tk.Frame(self._root_frame)
        self._frame.grid(row=0, column=0, sticky=tk.NSEW)

        # can't use rowspan in the configure_frame for some reason???
        for i in range(self.ROWSPAN - 2):
            self._frame.rowconfigure(i + 2, weight=1)
        utils.configure_frame(self._frame, colspan=self.COLSPAN)

        utils.create_title(self._frame, 'Create a new schedule', self.ROWSPAN)

        self._name = utils.create_labeled_entry(self._frame, 'Name:', 2, 0, 10,
                                                10)
        self._units = utils.create_labeled_entry(self._frame,
                                                 'Current Units Completed:', 3,
                                                 0, 10, 10, '0')
        self._gpa = utils.create_labeled_entry(self._frame, 'Current GPA:', 4,
                                               0, 10, 10, '0.00')

        utils.create_button(self._frame, 'Create', self._create, self.ROWSPAN,
                            0)
        utils.create_button(self._frame, 'Cancel', self._cancel, self.ROWSPAN,
                            1)

        utils.set_menu(self._root, utils.START_MENU)

        self.load_schedule()
Example #3
0
    def __init__(self, c: 'Course', course_widget: 'Course Widget',
                 root_tracker: root_tracker.Root_Tracker):
        TkAssignment.__init__(self, c, course_widget, root_tracker)
        self._root.title('Add An Assignment')

        utils.create_title(self._root, 'Add An Assignment', self.COLSPAN)
        self._name = utils.create_labeled_entry(self._root, 'Name:', 2, 0)
        self._points = utils.create_labeled_entry(self._root,
                                                  'Points Received:', 3, 0)
        self._points_total = utils.create_labeled_entry(
            self._root, 'Total Points:', 5, 0)

        utils.create_button(self._root,
                            'Add Assignment',
                            self._create,
                            7,
                            0,
                            sticky=tk.EW + tk.S,
                            colspan=2)

        self._root.mainloop()
Example #4
0
    def __init__(self, c: 'Course', course_widget: 'Course Widget',
                 root_tracker: root_tracker.Root_Tracker, a: Assignemnt):
        TkAssignment.__init__(self, c, course_widget, root_tracker)
        self._a = a
        self._root.title('Edit Assignment')
        self._points = a.points

        utils.create_title(self._root, f'Edit Assignment', self.COLSPAN)
        self._name = utils.create_labeled_entry(self._root,
                                                'Name:',
                                                2,
                                                0,
                                                insert=a.name)
        p = '' if a.points is None else a.points
        self._points = utils.create_labeled_entry(self._root,
                                                  'Points Received:',
                                                  3,
                                                  0,
                                                  insert=p)
        self._points_total = utils.create_labeled_entry(self._root,
                                                        'Total Points:',
                                                        5,
                                                        0,
                                                        insert=a.points_total)
        self._cat.set(a.category)

        utils.create_button(self._root,
                            'Update Assignment',
                            self._update_assignment,
                            7,
                            0,
                            sticky=tk.EW + tk.S,
                            colspan=2)

        if self._a.points is None:
            self._disable_points_entry()

        self._root.mainloop()
 def __init__(self, root: tk.Tk, root_frame: tk.Frame):
     self._root = root
     self._root_frame = root_frame
                 
     self._frame = tk.Frame(self._root_frame)
     self._frame.grid(row = 0, column = 0, sticky = tk.NSEW)
     self._frame.columnconfigure(0, weight = 10)
     self._frame.columnconfigure(2, weight = 10)
     self._frame.rowconfigure(2, weight = 1)
     
     self._root.bind('<Control-n>', self.new_schedule)
     self._root.bind('<Control-o>', self.open_schedule)
     self._root.bind('<Control-r>', self.open_recent)
     
     if utils.START_MENU is None:
         self._menu = tk.Menu(self._root)
         file_menu = tk.Menu(self._menu, tearoff = 0)
         file_menu.add_command(label = 'New Schedule', accelerator = 'Ctrl+N', command = self.new_schedule)
         file_menu.add_command(label = 'Open Schedule', accelerator = 'Ctrl+O', command = self.open_schedule)
         file_menu.add_command(label = 'Open Most Recent', accelerator = 'Ctrl+R', command = self.open_recent)
         file_menu.add_command(label = 'Quit', accelerator = 'Ctrl+Q', command = lambda: self._root.destroy())
         self._menu.add_cascade(label = 'File', menu = file_menu)
         utils.START_MENU = self._menu
     
     utils.set_menu(self._root, utils.START_MENU)
     
     utils.create_title(self._frame, 'School Manager', 3)
     ttk.Button(self._frame, text = 'Create New Schedule', command = self.new_schedule).grid(row = 2, column = 0, padx = 10, sticky = tk.E)
     ttk.Button(self._frame, text = 'Open Existing Schedule', command = self.open_schedule).grid(row = 2, column = 1, padx = 10)
     ttk.Button(self._frame, text = 'Open Recent Schedule', command = self.open_recent).grid(row = 2, column = 2, padx = 10, sticky = tk.W)
     tk.Label(self._frame, text = 'By Anthony Navarrette', font = 'Tahoma 10 bold').grid(row = 3, column = 0, pady = 10, sticky = tk.NSEW, columnspan = 3)
 
     self.load_start()
     
     self._schedule = None
     self._courses = None
Example #6
0
def generate_article():
    keywords = request.form.get("topic")
    if keywords == None:
        return render_template("home.html")
    else:
        keywords = keywords.split(" ")
        kwords = []
        for word in keywords:
            kwords.append(word.lower())
        keywords = kwords

        articles = []
        for file in os.listdir("articles/"):
            if file.endswith(".txt"):
                text = open(os.path.join("articles/", file), "r").read()
                source = file[:file.index("-")]
                articles.append(Article(text, source))
        weighted_articles = []
        for art in articles:
            weighted_articles.append((similarity(art.vector, keywords), art))
        weighted_articles = sorted(weighted_articles, key=lambda x: -x[0])
        temp = []
        for pair in weighted_articles:
            if pair[0] > 0:
                temp.append(pair)
        weighted_articles = temp
        if len(weighted_articles) >= 3:
            model = weighted_articles[0:3]
        else:
            model = weighted_articles
        articles = []
        for pair in model:
            art = pair[1]
            articles.append(art)
        generated_article, sources = group_sentences(articles)
        title = ""
        art_text = ""
        for sentence in generated_article:
            art_text += sentence[0] + " "
        if len(generated_article) > 0:
            title = create_title(art_text)
        else:
            title = "Sorry, we couldn't find any related articles!"
        #generate the text and display some how
        tit_text = title.decode('utf8')
        art_text = art_text.decode('utf8')
        return render_template("home.html", title=tit_text, article=art_text)
Example #7
0
from keras.models import Sequential
from keras.layers import Dense
import numpy as np
import pandas as pd
import utils

train_x = pd.read_csv("train.csv", sep=',')
test_x = pd.read_csv("test.csv", sep=',')

# Modify train
train_x['Title'] = utils.create_title(train_x)
train_x, train_y = utils.create_train(train_x)

# Create model
model = Sequential()

model.add(Dense(16, activation='relu', input_shape=(3, )))
model.add(Dense(8, activation='relu'))
model.add(Dense(1, activation='sigmoid'))

model.compile(loss='binary_crossentropy',
              optimizer='adam',
              metrics=['accuracy'])

# model.fit(train_x, train_y, epochs=50, batch_size=1, verbose=1)
# model.save_weights('Weights/titles.h5')

model.load_weights('Weights/titles.h5')

# Modify test
to_test = test_x.copy(True)
Example #8
0
    def __init__(self, schedule, root_tracker: root_tracker.Root_Tracker,
                 c: Course, course_widget, tkschedule):
        TkCourse.__init__(self, schedule, root_tracker)
        self._c = c
        self._root.title('Edit Course')
        self._course_widget = course_widget
        self._tkschedule = tkschedule

        utils.create_title(self._root, f'Edit Course', 1, pady=1)

        self._name = utils.create_labeled_entry(self._scroll_frame,
                                                'Name:',
                                                0,
                                                0,
                                                insert=self._c.name)
        self._units = utils.create_labeled_entry(self._scroll_frame,
                                                 'Units:',
                                                 1,
                                                 0,
                                                 insert=self._c.units)

        self._a = utils.create_labeled_entry(self._grade_cutoffs_frame,
                                             'A  :',
                                             3,
                                             insert=self._c._a)
        self._a_minus = utils.create_labeled_entry(self._grade_cutoffs_frame,
                                                   'A- :',
                                                   4,
                                                   insert=self._c._a_minus)
        self._b_plus = utils.create_labeled_entry(self._grade_cutoffs_frame,
                                                  'B+ :',
                                                  5,
                                                  insert=self._c._b_plus)
        self._b = utils.create_labeled_entry(self._grade_cutoffs_frame,
                                             'B  :',
                                             6,
                                             insert=self._c._b)
        self._b_minus = utils.create_labeled_entry(self._grade_cutoffs_frame,
                                                   'B- :',
                                                   7,
                                                   insert=self._c._b_minus)
        self._c_plus = utils.create_labeled_entry(self._grade_cutoffs_frame,
                                                  'C+ :',
                                                  8,
                                                  insert=self._c._c_plus)
        self._c_grade = utils.create_labeled_entry(self._grade_cutoffs_frame,
                                                   'C  :',
                                                   9,
                                                   insert=self._c._c)
        self._c_minus = utils.create_labeled_entry(self._grade_cutoffs_frame,
                                                   'C- :',
                                                   10,
                                                   insert=self._c._c_minus)
        self._d_plus = utils.create_labeled_entry(self._grade_cutoffs_frame,
                                                  'D+ :',
                                                  11,
                                                  insert=self._c._d_plus)
        self._d = utils.create_labeled_entry(self._grade_cutoffs_frame,
                                             'D  :',
                                             12,
                                             insert=self._c._d)

        self._grades_values = [
            self._a, self._a_minus, self._b_plus, self._b, self._b_minus,
            self._c_plus, self._c_grade, self._c_minus, self._d_plus, self._d
        ]

        utils.create_button(self._buttons_frame,
                            'Update Course',
                            command=self._update_course,
                            column=0)

        for cat, percent in self._c.categories.items():
            if cat == 'General':
                self._add_category(cat, percent, True)
            else:
                self._add_category(cat, percent)

        self._root.mainloop()
Example #9
0
    def __init__(self, schedule, tkschedule,
                 root_tracker: root_tracker.Root_Tracker):
        TkCourse.__init__(self, schedule, root_tracker)
        self._tkschedule = tkschedule
        self._root.title('Add A Course')

        utils.create_title(self._root, 'Add A Course', 1, pady=1)
        self._name = utils.create_labeled_entry(self._scroll_frame, 'Name:', 0,
                                                0)
        self._units = utils.create_labeled_entry(self._scroll_frame, 'Units:',
                                                 1, 0)

        self._a = utils.create_labeled_entry(self._grade_cutoffs_frame,
                                             'A  :',
                                             0,
                                             insert='93.5')
        self._a_minus = utils.create_labeled_entry(self._grade_cutoffs_frame,
                                                   'A- :',
                                                   1,
                                                   insert='90.0')
        self._b_plus = utils.create_labeled_entry(self._grade_cutoffs_frame,
                                                  'B+ :',
                                                  2,
                                                  insert='86.5')
        self._b = utils.create_labeled_entry(self._grade_cutoffs_frame,
                                             'B  :',
                                             3,
                                             insert='83.5')
        self._b_minus = utils.create_labeled_entry(self._grade_cutoffs_frame,
                                                   'B- :',
                                                   4,
                                                   insert='80.0')
        self._c_plus = utils.create_labeled_entry(self._grade_cutoffs_frame,
                                                  'C+ :',
                                                  5,
                                                  insert='76.5')
        self._c = utils.create_labeled_entry(self._grade_cutoffs_frame,
                                             'C  :',
                                             6,
                                             insert='73.5')
        self._c_minus = utils.create_labeled_entry(self._grade_cutoffs_frame,
                                                   'C- :',
                                                   7,
                                                   insert='70.0')
        self._d_plus = utils.create_labeled_entry(self._grade_cutoffs_frame,
                                                  'D+ :',
                                                  8,
                                                  insert='66.5')
        self._d = utils.create_labeled_entry(self._grade_cutoffs_frame,
                                             'D  :',
                                             9,
                                             insert='63.5')

        self._grades_values = [
            self._a, self._a_minus, self._b_plus, self._b, self._b_minus,
            self._c_plus, self._c, self._c_minus, self._d_plus, self._d
        ]

        utils.create_button(self._buttons_frame,
                            'Add Course',
                            command=self._create,
                            column=0)

        self._add_category('General', 100, True).config(state='disabled')

        self._root.mainloop()