Esempio n. 1
0
    def setFile(self, filepath):
        self.close()
        self.isValid = False

        if not filepath:
            return

        f = QFile(filepath)
        if not f.exists():
            d = QDir(QgsProject.instance().homePath())
            p = d.absoluteFilePath(filepath)
            filepath = QDir.cleanPath(p)
            f = QFile(filepath)
            if not f.exists():
                return

        self.conn = sqlite3.connect(filepath)
        if self.getInfo("scope") != "quickfinder":
            self.close()
            return

        # Database migration
        if self.getInfo("db_version") != self.version:
            # fix_print_with_import
            print("Run database migrations")
            self.runDatabaseMigration()

        self.isValid = True
        self._searches = self.readSearches()
        self.fileChanged.emit()