Beispiel #1
0
 def _savecuts(self, event=None):
     root = Tk()
     root.withdraw()
     csvfile = asksaveasfile(mode='w',defaultextension='.csv',title='Choose a file to save cuts to')
     root.destroy()
     if csvfile:
         pd.DataFrame(self.gpacuts).to_csv(csvfile)
Beispiel #2
0
    def _savegrades(self, event=None):
        sorted_students = self.student_list.sort_values(by=['Last','First'])
        print(sorted_students)
        root = Tk()
        root.withdraw()
        csvfile = asksaveasfile(mode='w',defaultextension='.csv',title='Choose a file to save grades to')
        root.destroy()
        if csvfile:

            sorted_students.to_csv(csvfile)
Beispiel #3
0
 def _saveimport(self, event=None):
     root = Tk()
     root.withdraw()
     csvfile = asksaveasfile(mode='w',defaultextension='.csv',title='Choose a file to save registrar import to')
     root.destroy()
     if csvfile:
         sorted_students = self.student_list.sort_values(by=['Last','First'])
         finalgrades = pd.DataFrame()
         finalgrades['Name'] = sorted_students['Last'] + ', ' + sorted_students['First']
         finalgrades['EID'] = sorted_students.index
         finalgrades['Grade'] = sorted_students['Grades']
         finalgrades['Absences'] = ''
         finalgrades['Remarks'] = ''
         finalgrades['Unique'] = sorted_students['Class']
         finalgrades.to_csv(csvfile, sep='\t', index=False, encoding='utf-8')
Beispiel #4
0
    def _loadcuts(self, event=None):
        filetypes = [
            ('Cuts file','*.csv'),
            ('Allfiles','*'),
            ]
        if platform.system() != 'Windows':
            filetypes.append(filetypes.pop(0)) # Reorder so the all gradefiles is selected first

        root = Tk()
        root.withdraw()
        csvfile = askopenfilename(filetypes=filetypes, title='Choose a file to load cuts from')
        root.destroy()

        if csvfile:
            cuts = pd.DataFrame.from_csv(csvfile).values.flatten()
            for i in range(len(cuts)):
                self._change(i,cuts[i])
Beispiel #5
0
def ask_filenames():
    filetypes = [
            ('Allfiles','*'),
            ('Canvas grade file','*.csv'),
            ]
    if platform.system() != 'Windows':
        filetypes.append(filetypes.pop(0)) # Reorder so the all gradefiles is selected first

    root = Tk()
    root.withdraw()
    filenames = askopenfilenames(filetypes=filetypes,
                             title='Select a file or files to open')
    root.destroy()

    # Fix for broken Windows Tk
    if isinstance(filenames,string_types):
        filenames_extra = re.findall('\{(.*?)\}',filenames)
        filenames = re.sub('\{(.*?)\}','',filenames)
        filenames = filenames.split() + filenames_extra

    return filenames
Beispiel #6
0
class LoginDialog(object):
    def __init__(self, host):
        self.__interna_init()
        self.__host = host
        self.__initialized = False
        if TKTk is not None:
            self.__create_content()
            self.__initialized = True

    def __interna_init(self):
        self.__rootFrame = None
        self.__top = None
        self.__usrEntry = None
        self.__pwdEntry = None
        self.__accepted = False
        self.__host = None
        self.__usr = None
        self.__pwd = None

    def __cancel_action(self):
        self.__accepted = False
        self.__rootFrame.destroy()

    def __login_action(self):
        self.__accepted = True
        self.__usr = self.__usrEntry.get()
        self.__pwd = self.__pwdEntry.get()
        self.__rootFrame.destroy()

    def __enter_action(self, event):
        self.__login_action()

    def __create_content(self):
        self.__rootFrame = TKTk()
        self.__rootFrame.withdraw()

        self.__top = TKToplevel(self.__rootFrame)
        self.__top.title("Login")
        self.__top.protocol("WM_DELETE_WINDOW", self.__rootFrame.destroy)

        self.__top.bind('<Return>', self.__enter_action)

        self.__top.update_idletasks()
        width = self.__top.winfo_width()
        height = self.__top.winfo_height()
        x = (self.__top.winfo_screenwidth() // 2) - (width // 2)
        y = (self.__top.winfo_screenheight() // 2) - (height // 2)

        self.__top.geometry("+%d+%d" % (x, y))

        row = 0
        expLabel = TKLabel(self.__top, text='Login to host:')
        expLabel.grid(row=row, column=0, columnspan=4, padx=5, pady=2)

        row = row + 1
        urlLabel = TKLabel(self.__top, text=self.__host)
        urlLabel.grid(row=row, column=0, columnspan=4, padx=5, pady=2)

        row = row + 1
        usrLabel = TKLabel(self.__top, text='User')
        usrLabel.grid(row=row, column=0, columnspan=2, padx=20, pady=5)
        self.__usrEntry = TKEntry(self.__top, width=20)
        self.__usrEntry.grid(row=row, column=2, columnspan=2, padx=5, pady=5)

        row = row + 1
        pwdLabel = TKLabel(self.__top, text='Password')
        pwdLabel.grid(row=row, column=0, columnspan=2, padx=20, pady=5)
        self.__pwdEntry = TKEntry(self.__top, width=20, show="*")
        self.__pwdEntry.grid(row=row, column=2, columnspan=2, padx=5, pady=5)

        row = row + 1
        cancelButton = TKButton(self.__top,
                                text='Cancel',
                                command=self.__cancel_action)
        cancelButton.grid(row=row, column=1, padx=5, pady=5)
        loginButton = TKButton(self.__top,
                               text='Login',
                               command=self.__login_action)
        loginButton.grid(row=row, column=2, padx=5, pady=5)

    def show_login(self):
        if self.__initialized:
            self.__usrEntry.focus_set()
            self.__rootFrame.mainloop()
        else:
            print("tkinter python module is not available.\n\
            Please, install tkinter module or use command line login utility.")

    def is_accepted(self):
        return self.__accepted

    def get_user(self):
        return self.__usr

    def get_password(self):
        return self.__pwd
 def _get_parent(self):
     parent = Tk()
     parent.withdraw()
     return parent
Beispiel #8
0
else:
    import tkinter.filedialog as tkinter_filedialog
    import tkinter.messagebox as tkinter_messagebox

if getattr(sys, "frozen", False):
    __file__ = sys.executable

FILEDIR = os.path.dirname(__file__)
CONFIG = os.path.join(os.path.expanduser("~"), ".config", "retux")

if __name__ == '__main__':
    if not os.path.exists(CONFIG):
        os.makedirs(CONFIG)

    tkwindow = Tk()
    tkwindow.withdraw()
    fnames = tkinter_filedialog.askopenfilenames(filetypes=[("all files", ".*")
                                                            ],
                                                 initialdir=FILEDIR)
    for fname in fnames:
        rp = os.path.relpath(fname, FILEDIR)
        if not rp.startswith(os.pardir):
            cd = os.path.dirname(os.path.join(CONFIG, rp))
            if not os.path.exists(cd):
                os.makedirs(cd)

            new_name = os.path.join(cd, os.path.basename(fname))
            if os.path.isfile(new_name):
                os.remove(new_name)
            elif os.path.isdir(new_name):
                shutil.rmtree(new_name)
Beispiel #9
0
class LoginDialog(object):

    def __init__(self, host):
        self.__interna_init()
        self.__host = host
        self.__create_content()

    def __interna_init(self):
        self.__rootFrame = None
        self.__top = None
        self.__usrEntry = None
        self.__pwdEntry = None
        self.__accepted = False
        self.__host = None
        self.__usr = None
        self.__pwd = None

    def __cancel_action(self):
        self.__accepted = False
        self.__rootFrame.destroy()

    def __login_action(self):
        self.__accepted = True
        self.__usr = self.__usrEntry.get()
        self.__pwd = self.__pwdEntry.get()
        self.__rootFrame.destroy()

    def __enter_action(self, event):
        self.__login_action()

    def __create_content(self):
        self.__rootFrame = TKTk()
        self.__rootFrame.withdraw()

        self.__top = TKToplevel(self.__rootFrame)
        self.__top.title("Login")
        self.__top.protocol("WM_DELETE_WINDOW", self.__rootFrame.destroy)

        self.__top.bind('<Return>', self.__enter_action)

        self.__top.update_idletasks()
        width = self.__top.winfo_width()
        height = self.__top.winfo_height()
        x = (self.__top.winfo_screenwidth() // 2) - (width // 2)
        y = (self.__top.winfo_screenheight() // 2) - (height // 2)

        self.__top.geometry("+%d+%d" % (x, y))

        row = 0
        expLabel = TKLabel(self.__top, text='Login to host:')
        expLabel.grid(row=row, column=0, columnspan=4, padx=5, pady=2)

        row = row+1
        urlLabel = TKLabel(self.__top, text=self.__host)
        urlLabel.grid(row=row, column=0, columnspan=4, padx=5, pady=2)

        row = row+1
        usrLabel = TKLabel(self.__top, text='User')
        usrLabel.grid(row=row, column=0, columnspan=2, padx=20, pady=5)
        self.__usrEntry = TKEntry(self.__top, width=20)
        self.__usrEntry.grid(row=row, column=2, columnspan=2, padx=5, pady=5)

        row = row+1
        pwdLabel = TKLabel(self.__top, text='Password')
        pwdLabel.grid(row=row, column=0, columnspan=2, padx=20, pady=5)
        self.__pwdEntry = TKEntry(self.__top, width=20, show="*")
        self.__pwdEntry.grid(row=row, column=2, columnspan=2, padx=5, pady=5)

        row = row+1
        cancelButton = TKButton(self.__top, text='Cancel', command=self.__cancel_action)
        cancelButton.grid(row=row, column=1, padx=5, pady=5)
        loginButton = TKButton(self.__top, text='Login', command=self.__login_action)
        loginButton.grid(row=row, column=2, padx=5, pady=5)

    def show_login(self):
        self.__usrEntry.focus_set()
        self.__rootFrame.mainloop()

    def is_accepted(self):
        return self.__accepted

    def get_user(self):
        return self.__usr

    def get_password(self):
        return self.__pwd
Beispiel #10
0
 def _get_parent(self):
     parent = Tk()
     parent.withdraw()
     return parent