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()
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()
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
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)