Example #1
0
 def __init__(self):
     tk.Tk.__init__(self)
     if not config.get_db_path():
         config.set_db_path()
     if not config.get_backup_path():
         config.set_backup_path()
     if not config.get_session_path():
         config.set_session_path()
     db_type = config.get_db_type()
     if db_type == 'standard':
         db = Databases.StandardDatabase()
     else:
         db = Databases.TranslationDatabase(config.get_lang1(),
                                            config.get_lang2())
     config.active_objects['db'] = db
     config.active_objects[
         'root'] = self  #Allows access outside creation module
     backup.backup()
     self.option_add('*Font',
                     'TkDefaultFont')  #All widgets use default font
     if db_type == 'standard':
         self.main_frame = StandardMainFrame(self)
     else:
         self.main_frame = TranslationMainFrame(self)
     self.menu_bar = MenuBar(self)
     self['menu'] = self.menu_bar
     self.title(config.get_language_dict()['title'])  #Application name
     icon = Image.open('icons/30101621.png')
     icon = ImageTk.PhotoImage(icon)
     self.iconphoto(True, icon)
     self.set_geometry()
     self.bind_events()
Example #2
0
def daily_backup():
    """ Performs daily backup | None -> None """
    print('daily backup in progress')
    db_filepath = config.get_full_db_path()
    backup_path = config.get_backup_path()
    db_name = config.get_db_name()
    backup_filepath = backup_path / (db_name + '_daily.pickle')
    print(f'saving {backup_filepath}')
    shutil.copy(db_filepath, backup_filepath)
    backup_date_dict['day'] = date.today()
    save_backup_dates()
Example #3
0
def load_backup_dates():
    """ Loads backup dates from disk or returns default setting | None -> dict """
    backup_dir = config.get_backup_path()
    try:
        with open(backup_dir / 'backup_dates.json', 'r') as date_file:
            backup_date_dict = json.load(date_file)
            backup_date_dict = {
                k: date_from_string(v)
                for k, v in backup_date_dict.items()
            }
            print('Loading backup dates:', backup_date_dict)
    except (FileNotFoundError, ValueError):
        print('Loading empty backup dates:', DEFAULT_DATES)
        backup_date_dict = DEFAULT_DATES
    return backup_date_dict
Example #4
0
def save_backup_dates():
    """ Saves backup dates to disk | None -> None """
    backup_dir = config.get_backup_path()
    with open(backup_dir / 'backup_dates.json', 'w') as date_file:
        print('Saving backup dates:', backup_date_dict)
        json.dump(backup_date_dict, date_file, default=str)