def main(filename=None): prod = get_prod() if not prod: QStandardPaths.setTestModeEnabled(True) setup_logging() logger.info(f"Application en mode {'PROD' if prod else 'DEBUG'}") # create de app and initial setup app = QApplication([]) initial_setup_application(app) # create database and update configation with default values if needed db = main_init_database(filename=filename, prod=prod) update_configuration(db) add_database_to_types(db) # qml register_new_qml_type() engine = QQmlApplicationEngine() # late configuration late_setup_application(app, db) # run the app load_engine(engine) sys.exit(app.exec_())
def __init__(self, arguments): super().__init__(arguments) self.mainWindow = None self.setOrganizationName('QVideoRename') self.setApplicationName('QVideoRename') QStandardPaths.setTestModeEnabled(__DEVELOPEMENT__)
def __init__(self, arguments): super().__init__(arguments) self.mainWindow = None self.setOrganizationName('QtHEP') self.setApplicationName('QtHEP') QStandardPaths.setTestModeEnabled(__DEVELOPEMENT__) preferencesPath = QStandardPaths.writableLocation( QStandardPaths.AppDataLocation) if (not os.path.exists(preferencesPath)): os.makedirs(preferencesPath) self.preferencesFilename = os.path.join( preferencesPath, '{}.preferences.xml'.format(self.applicationName())) self.preferences = Preferences() if (os.path.exists(self.preferencesFilename)): self.preferences.fromXML(self.preferencesFilename) self.preferences.logging.initializeLog() else: self.preferences.toXML(self.preferencesFilename) DiscFilenameTemplatesSingleton().set( self.preferences.filenameTemplates) DiscMixdownsSingleton().set(self.preferences.mixdowns.getMixdowns()) DiscPresetsSingleton().set(self.preferences.presets.getNames()) self.disc = Disc(self) TitleVisibleSingleton().set( self.preferences.autoTitle.minimumTitleSeconds, self.disc.hideShortTitles) self.defaultSessionFilename = "{}.state.xml".format( self.applicationName()) if __DEVELOPEMENT__: # self.settingsFilename = os.path.join(os.getcwd(), "{}.settings.xml".format(APP_NAME)) # self.fullDefaultSessionFilename = os.path.join(os.getcwd(), self.defaultSessionFilename) s = os.path.join(os.getcwd(), 'TestFiles') self.temporarySessionFilename = os.path.join( s, "temp.{}".format(self.defaultSessionFilename)) # self.logFilename = os.path.join(os.getcwd(), "{}.log".format(APP_NAME)) else: if (os.path.exists(self.standardPaths.GetUserDataDir()) == False): os.makedirs(self.standardPaths.GetUserDataDir()) SingletonLog().writeline('{} created'.format( self.standardPaths.GetUserDataDir())) # self.settingsFilename = os.path.join(self.standardPaths.GetUserDataDir(), "{}.settings.xml".format(APP_NAME)) # self.fullDefaultSessionFilename = os.path.join(self.standardPaths.GetUserDataDir(), self.defaultSessionFilename) self.temporarySessionFilename = os.path.join( self.standardPaths.GetUserDataDir(), "temp.{}".format(self.defaultSessionFilename))
def main_init_database(filename=None, prod=False): # init database first settings = QSettings() logger.info(f"ficher settings : {settings.fileName()}") newdb = Database() create_db = False import mycartable.database if prod: from mycartable.defaults.files_path import ROOT_DATA filename = settings.value("General/ddb_path", ROOT_DATA / "mycartable.ddb") create_db = True else: QStandardPaths.setTestModeEnabled(True) # filename.unlink() filename = Path(tempfile.gettempdir()) / "devddbmdk.sqlite" # filename = "/home/jimmy/Documents/MyCartable/mycartable.ddb" # filename = ":memory:" # filename = ":memory:" create_db = True from mycartable.migrations.migrations import make_migrations if filename != ":memory:" and Path(filename).is_file(): migrate_res = make_migrations(filename) if not migrate_res: from mycartable.defaults.files_path import LOGFILE raise SystemError(f"voir dans {LOGFILE}") mycartable.database.db = newdb db = mycartable.database.init_database(newdb, filename=filename, create_db=create_db) if not prod: from tests.factory import Faker with db_session: db.Configuration.add("annee", 2019) try: f = Faker(db) m = f.f_matiere(groupe=2019) ac = f.f_activite(matiere=m) p = f.f_page(activite=ac) f.f_textSection(page=p) except: pass return mycartable.database.db
def setup_session(): QStandardPaths.setTestModeEnabled(True) root = Path(__file__).parents[1] python_dir = root / "src" # setup qrc orig = root / "src" / "qml.qrc" dest = python_dir / "mycartable" / "qrc.py" command = f"pyrcc5 {orig.absolute()} -o {dest.absolute()}" res = subprocess.run(command, cwd=root, shell=True, capture_output=True) if res.returncode != 0: pytest.exit(res.stdout.decode()) import mycartable.qrc