def saveSettings(): try: with open('config.ini', 'w', encoding='utf-8') as f: settings.write(f) except OSError: from hazama import ui ui.showErrors('cantFile', 'config.ini')
def saveSettings(): try: with open('config.ini', 'w', encoding='utf-8') as f: settings.write(f) except OSError as e: from hazama import ui ui.showErrors('cantFile', info=str(e))
def main_entry(): import time start_time = time.clock() import logging import sys from hazama import config config.changeCWD() config.init() level = logging.DEBUG if config.settings['Main'].getboolean( 'debug') else logging.INFO logging.basicConfig(format='%(levelname)s: %(message)s', level=level) logging.info('Hazama v%s (%s, Py%d.%d.%d)', __version__, sys.platform, *sys.version_info[:3]) logging.info(str(config.db)) from hazama import ui, diarybook, updater app = ui.init() from hazama.ui.mainwindow import MainWindow w = MainWindow() w.show() logging.debug('startup took %.2f sec', time.clock() - start_time) if config.settings['Font'].getboolean('enhanceRender'): from hazama import mactype mactype.enable() if config.settings['Main'].getboolean('backup'): try: diarybook.backup() except OSError as e: from hazama.ui import showErrors showErrors('cantFile', str(e)) # message not correct here, ignore it... if config.settings['Update'].getboolean('needClean'): updater.cleanBackup() config.settings['Update']['needClean'] = str(False) app.aboutToQuit.connect(onAboutToQuit) ret = app.exec_() del w # force close all child window of MainWindow # segfault might happen if not wait for them for i in [updater.checkUpdateTask, updater.installUpdateTask]: if i is not None: logging.debug('waiting for %s to exit', i) i.wait() return ret
def main_entry(): import time start_time = time.clock() import logging import sys from hazama import config config.changeCWD() config.init() level = logging.DEBUG if config.settings['Main'].getboolean( 'debug') else logging.INFO logging.basicConfig(format='%(levelname)s: %(message)s', level=level) logging.info('Hazama v%s (%s, Py%d.%d.%d)', __version__, sys.platform, *sys.version_info[:3]) logging.info(str(config.nikki)) from hazama import ui, db, updater from hazama import updater app = ui.init() from hazama.ui.mainwindow import MainWindow w = MainWindow() w.show() logging.debug('startup took %.2f sec', time.clock() - start_time) if config.settings['Main'].getboolean('backup'): try: db.backup() except OSError as e: from hazama.ui import showErrors showErrors('cantFile', info=str(e)) if config.settings['Update'].getboolean('needClean'): updater.cleanBackup() config.settings['Update']['needClean'] = str(False) ret = app.exec_() del w # force close all child window of MainWindow db.Nikki.getinstance().disconnect() config.saveSettings() # segfault might happen if not wait for them for i in [updater.checkUpdateTask, updater.installUpdateTask]: if i is not None: logging.debug('waiting for %s to exit', i) i.wait() return ret
def main_entry(): import time start_time = time.clock() import logging import sys from hazama import config config.changeCWD() config.init() level = logging.DEBUG if config.settings['Main'].getboolean('debug') else logging.INFO logging.basicConfig(format='%(levelname)s: %(message)s', level=level) logging.info('Hazama v%s (%s, Py%d.%d.%d)', __version__, sys.platform, *sys.version_info[:3]) logging.info(str(config.db)) from hazama import ui, diarybook, updater app = ui.init() from hazama.ui.mainwindow import MainWindow w = MainWindow() w.show() logging.debug('startup took %.2f sec', time.clock()-start_time) if config.settings['Font'].getboolean('enhanceRender'): from hazama import mactype mactype.enable() if config.settings['Main'].getboolean('backup'): try: diarybook.backup() except OSError as e: from hazama.ui import showErrors showErrors('cantFile', str(e)) # message not correct here, ignore it... if config.settings['Update'].getboolean('needClean'): updater.cleanBackup() config.settings['Update']['needClean'] = str(False) app.aboutToQuit.connect(onAboutToQuit) ret = app.exec_() del w # force close all child window of MainWindow # segfault might happen if not wait for them for i in [updater.checkUpdateTask, updater.installUpdateTask]: if i is not None: logging.debug('waiting for %s to exit', i) i.wait() return ret
def init(): """Load config.ini under CWD, initialize settings and nikki.""" try: # utf-8 with BOM will kill ConfigParser with open('config.ini', encoding='utf-8-sig') as f: settings.read_file(f) except FileNotFoundError: pass try: nikki.connect(settings['Main']['dbPath']) except db.DatabaseError as e: from hazama import ui ui.showErrors('dbError', hint=str(e)) sys.exit(-1) except db.DatabaseLockedError: from hazama import ui ui.showErrors('dbLocked') sys.exit(-1)
def init(): """Load config.ini under CWD, initialize settings and diary book.""" try: # utf-8 with BOM will kill ConfigParser with open('config.ini', encoding='utf-8-sig') as f: settings.read_file(f) except ParsingError: from hazama import ui ui.showErrors('fileCorrupted', 'config.ini', exit_=True) except FileNotFoundError: pass try: db.connect(settings['Main']['dbPath']) except diarybook.DatabaseError as e: from hazama import ui if str(e).startswith('unable to open'): ui.showErrors('cantFile', settings['Main']['dbPath'], exit_=True) else: ui.showErrors('dbError', str(e), exit_=True) except diarybook.DatabaseLockedError: from hazama import ui ui.showErrors('dbLocked', exit_=True)