def lsProjectServer (serveradress): """ This function return a list of all DbServer homeworks projects. :param serveradress: The database adress. :type serveradress: str :returns: list -- Return the list of authorised project users. **Example:** >>> lsProjectServer ( serveradress = "admin:[email protected]:5984" ) >>> [ 'prod1', 'prod2', 'prod3' ] """ # Get db server from adress server=utils.getServer (serveradress) projects=list () user=utils.getCurrentUser() # Iterate over all databases contained in the DB server for db_name in server : if not db_name in ("_replicator", "_users"): db=server [ db_name ] # Check if the current db is a HK project if isProject (db) : # Get project authorized users users=getProjectUsers (db) # If current user is in the user list append project in the project list if user in users: projects.append (db_name) # Return a list of projects name (str) return projects
def refreshProject ( self, serveradress ): """If server exist set 'ok' icon """ self.server = False if utils.serverExists ( serveradress ) : icon = os.path.join ( utils.getCCPath (), "ok.png" ) self.server = utils.getServer ( serveradress ) """Clear current comboBox_project list""" self.comboBox_project.clear () icon = os.path.join ( utils.getCCPath (), "cross.png" ) self.projects = ["No project available"] if utils.serverExists ( serveradress ) : projects = core.lsProjectServer ( serveradress ) if len ( projects ) > 0 : self.projects = projects self.comboBox_project.addItems ( self.projects ) root = self.lineEdit_root.text() root = os.path.join ( root, "projects" ) for i in range ( 0, self.comboBox_project.count () ): proj = self.comboBox_project.itemText ( i ) curroot = os.path.join ( root, proj ) if proj == "No project available" or os.path.exists ( curroot ) : icon = os.path.join ( utils.getCCPath (), "cross.png" ) self.project_stat [ proj ] = False else: icon = os.path.join ( utils.getCCPath (), "ok.png" ) self.project_stat [ proj ] = True self.comboBox_project.setItemIcon ( i, QtGui.QIcon ( icon ) ) self.pushButton.setEnabled ( self.project_stat [ self.comboBox_project.currentText () ] )