コード例 #1
0
ファイル: batchDbManager.py プロジェクト: yangmaoer/DsgTools
 def __init__(self, parent=None):
     """Constructor."""
     super(self.__class__, self).__init__(parent)
     self.setupUi(self)
     self.utils = Utils()
     self.dbFactory = DbFactory()
     self.factory = SqlGeneratorFactory()
     self.showTabs(show=False)
     #setting the sql generator
     self.serverWidget.populateServersCombo()
     self.serverWidget.abstractDbLoaded.connect(self.checkSuperUser)
     self.serverWidget.abstractDbLoaded.connect(
         self.populateOtherInterfaces)
     self.dbsCustomSelector.setTitle(self.tr('Server Databases'))
     self.dbsCustomSelector.selectionChanged.connect(self.showTabs)
     self.dbsCustomSelector.selectionChanged.connect(
         self.populateStylesInterface)
     self.dbsCustomSelector.selectionChanged.connect(
         self.populateOtherInterfaces)
     self.previousTab = 0
     self.dbDict = {'2.1.3': [], 'FTer_2a_Ed': [], 'Non_EDGV': []}
     self.correspondenceDict = {
         self.tr('Load Database Model EDGV Version 2.1.3'): '2.1.3',
         self.tr('Load Database Model EDGV Version FTer_2a_Ed'):
         'FTer_2a_Ed',
         self.tr('Load Other Database Models'): 'Non_EDGV'
     }
コード例 #2
0
ファイル: dbCreator.py プロジェクト: yangmaoer/DsgTools
 def __init__(self, createParam, parentWidget = None):
     super(DbCreator,self).__init__()
     self.dbFactory = DbFactory()
     self.parentWidget = parentWidget
     if isinstance(createParam, unicode):
         self.outputDir = createParam
     if isinstance(createParam, AbstractDb):
         self.abstractDb = createParam
     self.scaleMIDict = {1:'100k',2:'50k',3:'25k',4:'10k',5:'5k',6:'2k',7:'1k'}
コード例 #3
0
 def __init__(self, parent=None):
     super(ConnectionComboBox, self).__init__(parent)
     self.parent = parent
     self.abstractDb = None
     self.abstractDbFactory = DbFactory()
     self.serverAbstractDb = None
     self.displayDict = {'2.1.3':'EDGV 2.1.3', 'FTer_2a_Ed':'EDGV FTer 2a Ed', 'Non_EDGV':self.tr('Other database model')}
     self.lineEdit().setPlaceholderText(self.tr('Select a database'))
     self.currentIndexChanged.connect(self.loadDatabase)
     self.instantiateAbstractDb = False
コード例 #4
0
 def __init__(self, parent=None):
     """Constructor."""
     super(self.__class__, self).__init__(parent)
     # Set up the user interface from Designer.
     # After setupUI you can access any designer object by doing
     # self.<objectname>, and you can use autoconnect slots - see
     # http://qt-project.org/doc/qt-4.8/designer-using-a-ui-file.html
     # #widgets-and-dialogs-with-auto-connect
     self.setupUi(self)
     self.dbFactory = DbFactory()
コード例 #5
0
 def instantiateAdminDb(self, serverAbstractDb):
     """
     Instantiates dsgtools_admindb in the same server as serverAbstractDb. 
     If dsgtools_admindb does not exists, instantiateAdminDb calls createAdminDb
     """
     (host, port, user, password) = serverAbstractDb.getParamsFromConectedDb()
     adminDb = DbFactory().createDbFactory('QPSQL')
     if not serverAbstractDb.hasAdminDb():
         return self.createAdminDb(serverAbstractDb, adminDb, host, port, user, password)
     adminDb.connectDatabaseWithParameters(host, port, 'dsgtools_admindb', user, password)
     return adminDb
コード例 #6
0
 def instantiateAbstractDb(self, dbName):
     """
     Instantiates an abstractDb.
     """
     if dbName not in self.dbDict.keys():
         (host, port, user, password) = self.serverAbstractDb.getParamsFromConectedDb()
         abstractDb = DbFactory().createDbFactory('QPSQL')
         abstractDb.connectDatabaseWithParameters(host, port, dbName, user, password)
     else:
         abstractDb = self.dbDict[dbName]
     return abstractDb
コード例 #7
0
 def __init__(self, iface, parent=None):
     """
     Constructor
     """
     super(StyleManagerTool, self).__init__(parent)
     self.setupUi(self)
     self.iface = iface
     self.splitter.hide()
     self.refreshDb()
     self.dbFactory = DbFactory()
     self.applyPushButton.setEnabled(False)
     self.utils = Utils()
コード例 #8
0
    def __init__(self, parent=None):
        """
        Constructor.
        """
        super(PostgisDbThread, self).__init__()

        self.factory = SqlGeneratorFactory()
        #setting the sql generator
        self.gen = self.factory.createSqlGenerator(False)
        self.messenger = PostgisDbMessages(self)
        self.dbFactory = DbFactory()
        self.parent = parent
コード例 #9
0
 def __init__(self, iface, parent=None):
     '''Constructor.'''
     super(ViewServers, self).__init__(parent)
     # Set up the user interface from Designer.
     # After setupUI you can access any designer object by doing
     # self.<objectname>, and you can use autoconnect slots - see
     # http://qt-project.org/doc/qt-4.8/designer-using-a-ui-file.html
     # #widgets-and-dialogs-with-auto-connect
     self.setupUi(self)
     self.iface = iface
     self.abstractDbFactory = DbFactory()
     self.initGui()
コード例 #10
0
    def __init__(self, permissionManager, abstractDb, parent=None):
        """
        Constructor
        """
        super(CreateProfileWithProfileManager, self).__init__(parent)
        # Set up the user interface from Designer.
        # After setupUI you can access any designer object by doing
        # self.<objectname>, and you can use autoconnect slots - see
        # http://qt-project.org/doc/qt-4.8/designer-using-a-ui-file.html
        # #widgets-and-dialogs-with-auto-connect
        self.setupUi(self)
        self.permissionManager = permissionManager
        self.abstractDb = abstractDb
        self.abstractDbFactory = DbFactory()

        self.populateTreeDict()
コード例 #11
0
    def __init__(self, parent=None):
        """
        Constructor
        """
        super(CreateProfile, self).__init__(parent)
        # Set up the user interface from Designer.
        # After setupUI you can access any designer object by doing
        # self.<objectname>, and you can use autoconnect slots - see
        # http://qt-project.org/doc/qt-4.8/designer-using-a-ui-file.html
        # #widgets-and-dialogs-with-auto-connect
        self.setupUi(self)
        self.folder = os.path.join(os.path.dirname(__file__), 'profiles')

        self.abstractDb = None
        self.abstractDbFactory = DbFactory()

        self.populateTreeDict()
コード例 #12
0
ファイル: exploreDb.py プロジェクト: alexdsz/DsgTools
 def __init__(self, parent=None):
     """Constructor."""
     super(self.__class__, self).__init__(parent)
     # Set up the user interface from Designer.
     # After setupUI you can access any designer object by doing
     # self.<objectname>, and you can use autoconnect slots - see
     # http://qt-project.org/doc/qt-4.8/designer-using-a-ui-file.html
     # #widgets-and-dialogs-with-auto-connect
     self.setupUi(self)
     self.utils = Utils()
     self.dbFactory = DbFactory()
     self.localDb = None
     self.serverWidget.populateServersCombo()
     #signal connections
     self.serverWidget.abstractDbLoaded.connect(self.checkSuperUser)
     self.serverWidget.clearWidgets.connect(self.clearAll)
     self.treeWidget.setContextMenuPolicy(Qt.CustomContextMenu)
     self.treeWidget.customContextMenuRequested.connect(
         self.createMenuAssigned)
コード例 #13
0
ファイル: complexWindow.py プロジェクト: alexdsz/DsgTools
    def __init__(self, iface, parent=None):
        """Constructor."""
        super(ComplexWindow, self).__init__(parent)
        # Set up the user interface from Designer.
        # After setupUI you can access any designer object by doing
        # self.<objectname>, and you can use autoconnect slots - see
        # http://qt-project.org/doc/qt-4.8/designer-using-a-ui-file.html
        # #widgets-and-dialogs-with-auto-connect
        self.setupUi(self)
        self.iface = iface
        
        self.dbButton.clicked.connect(self.getDataSources)
        self.dbCombo.activated.connect(self.updateComplexClass)
        self.complexCombo.activated.connect(self.loadAssociatedFeatures)
        self.iface.newProjectCreated.connect(self.clearDock)

        self.abstractDb = None
        self.databases = None
        self.abstractDbFactory = DbFactory()
コード例 #14
0
ファイル: connectionWidget.py プロジェクト: alexdsz/DsgTools
    def setInitialState(self):
        self.filename = ''
        self.dbLoaded = False
        self.epsg = 0
        self.crs = None
        
        self.abstractDb = None
        self.isSpatialite = True
        self.tabWidget.setCurrentIndex(0)
        self.abstractDbFactory = DbFactory()
        self.utils = Utils()

        #populating the postgis combobox
        self.comboBoxPostgis.setCurrentIndex(0)
        self.populatePostGISConnectionsCombo()
        self.spatialiteFileEdit.setReadOnly(True)   
        self.postGISCrsEdit.setReadOnly(True)
        self.spatialiteCrsEdit.setReadOnly(True)   
        self.edgvSpatialiteVersionEdit.setReadOnly(True)
        self.edgvPostgisVersionEdit.setReadOnly(True)       
コード例 #15
0
    def clearAll(self):
        """
        Resets the initial state
        """
        self.filename = ''
        self.dbLoaded = False
        self.epsg = 0
        self.crs = None

        self.abstractDb = None
        self.isSpatialite = False
        self.abstractDbFactory = DbFactory()
        self.utils = Utils()

        #populating the postgis combobox
        self.comboBoxPostgis.clear()
        self.spatialiteFileEdit.setReadOnly(True)
        self.postGISCrsEdit.setReadOnly(True)
        self.spatialiteCrsEdit.setReadOnly(True)
        self.edgvSpatialiteVersionEdit.setReadOnly(True)
        self.edgvPostgisVersionEdit.setReadOnly(True)
コード例 #16
0
ファイル: postgisDBTool.py プロジェクト: yangmaoer/DsgTools
    def getDatabase(self, database='postgres'):
        """
        Gets a a QSqlDatabase 
        """
        (host, port, user, password) = self.getServerConfiguration(
            self.serversCombo.currentText())
        self.abstractDb = DbFactory().createDbFactory('QPSQL')

        if password == '':
            conInfo = 'host=' + host + ' port=' + port + ' dbname=' + database
            self.setCredentials(self.abstractDb.db, conInfo, user)
        else:
            self.abstractDb.connectDatabaseWithParameters(
                host, port, database, user, password)

        if not self.abstractDb.db.open():
            QgsMessageLog.logMessage(self.abstractDb.db.lastError().text(),
                                     "DSG Tools Plugin",
                                     QgsMessageLog.CRITICAL)

        return self.abstractDb
コード例 #17
0
 def __init__(self, parent = None):
     """Constructor."""
     super(self.__class__, self).__init__(parent)
     self.setupUi(self)
     self.utils = Utils()
     self.dbFactory = DbFactory()
     self.factory = SqlGeneratorFactory()
     self.serverWidget.populateServersCombo()
     self.serverWidget.abstractDbLoaded.connect(self.populatePostgisSelector)
     self.customFileSelector.filesSelected.connect(self.populateSpatialiteSelector)
     self.comboDict = {self.tr('Load Database Model EDGV Version 2.1.3'):'2.1.3', self.tr('Load Database Model EDGV Version FTer_2a_Ed'):'FTer_2a_Ed',self.tr('Load Other Database Models'):'Non_EDGV'}
     self.dbDict = {'2.1.3':[], 'FTer_2a_Ed':[],'Non_EDGV':[]}
     self.selectedDbsDict = dict()
     self.stylesDict = dict()
     self.postgisCustomSelector.selectionChanged.connect(self.selectedDatabases)
     self.spatialiteCustomSelector.selectionChanged.connect(self.selectedFiles)
     self.path = None
     self.customFileSelector.setCaption(self.tr('Select a DSGTools Spatialite file'))
     self.customFileSelector.setFilter(self.tr('Spatialite file databases (*.sqlite)'))
     self.customFileSelector.setType('multi')
     self.edgvType = None
コード例 #18
0
                self.tr('Process parameters setter for process {0}').format(
                    process))
            if dlg.exec_() == 0:
                return -1
            # get parameters
            params = dlg.values
            # adjusting the parameters in the process
            currProc.setParameters(params)
        #check status
        QgsMessageLog.logMessage('Process %s Log:\n' % currProc.getName(),
                                 "DSG Tools Plugin", QgsMessageLog.CRITICAL)
        ret = currProc.execute()  #run bitch run!
        #status = currProc.getStatus() #must set status
        QgsMessageLog.logMessage(
            'Process ran with status %s\n' % currProc.getStatusMessage(),
            "DSG Tools Plugin", QgsMessageLog.CRITICAL)
        currProc.logTotalTime()
        #checking for existing post process
        postProcessName = currProc.postProcess()
        if postProcessName:
            self.executeProcess(postProcessName)
        return ret


if __name__ == '__main__':
    from DsgTools.Factories.DbFactory.dbFactory import DbFactory
    abstractDb = DbFactory().createDbFactory('QPSQL')
    manager = ValidationManager(abstractDb)
    print manager
    pass