Beispiel #1
0
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
Beispiel #2
0
 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 () ] )