Esempio n. 1
0
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_())
Esempio n. 2
0
    def __init__(self, arguments):
        super().__init__(arguments)

        self.mainWindow = None

        self.setOrganizationName('QVideoRename')
        self.setApplicationName('QVideoRename')
        QStandardPaths.setTestModeEnabled(__DEVELOPEMENT__)
Esempio n. 3
0
    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))
Esempio n. 4
0
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
Esempio n. 5
0
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