• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python logger.debug函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中sfa.util.sfalogging.logger.debug函数的典型用法代码示例。如果您正苦于以下问题:Python debug函数的具体用法?Python debug怎么用?Python debug使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了debug函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: __init__

 def __init__ (self, config):
     dbname="sfa"
     # will be created lazily on-demand
     self._session = None
     # the former PostgreSQL.py used the psycopg2 directly and was doing
     #self.connection.set_client_encoding("UNICODE")
     # it's unclear how to achieve this in sqlalchemy, nor if it's needed at all
     # http://www.sqlalchemy.org/docs/dialects/postgresql.html#unicode
     # we indeed have /var/lib/pgsql/data/postgresql.conf where
     # this setting is unset, it might be an angle to tweak that if need be
     # try a unix socket first - omitting the hostname does the trick
     unix_url = "postgresql+psycopg2://%s:%[email protected]:%s/%s"%\
         (config.SFA_DB_USER,config.SFA_DB_PASSWORD,config.SFA_DB_PORT,dbname)
     # the TCP fallback method
     tcp_url = "postgresql+psycopg2://%s:%[email protected]%s:%s/%s"%\
         (config.SFA_DB_USER,config.SFA_DB_PASSWORD,config.SFA_DB_HOST,config.SFA_DB_PORT,dbname)
     for url in [ unix_url, tcp_url ] :
         try:
             logger.debug("Trying db URL %s"%url)
             self.engine = create_engine (url)
             self.check()
             self.url=url
             return
         except:
             pass
     self.engine=None
     raise Exception,"Could not connect to database %s as %s with psycopg2"%(dbname,config.SFA_DB_USER)
开发者ID:tubav,项目名称:sfa,代码行数:27,代码来源:alchemy.py


示例2: GETRequestToOARRestAPI

    def GETRequestToOARRestAPI(self, request, strval=None ,next_page=None, username = None ): 
        self.oarserver['uri'] = \
                            OARGETParser.OARrequests_uri_dict[request]['uri']
        #Get job details with username                   
        if 'owner' in OARGETParser.OARrequests_uri_dict[request] and username:
           self.oarserver['uri'] +=  OARGETParser.OARrequests_uri_dict[request]['owner'] + username
        headers = {}
        data = json.dumps({})
        logger.debug("OARrestapi \tGETRequestToOARRestAPI %s" %(request))
        if strval:
            self.oarserver['uri'] = self.oarserver['uri'].\
                                            replace("id",str(strval))
            
        if next_page:
            self.oarserver['uri'] += next_page
            
        if username:
            headers['X-REMOTE_IDENT'] = username 
            
        print>>sys.stderr, " \r\n \t    OARrestapi \tGETRequestToOARRestAPI %s" %( self.oarserver['uri'])
        logger.debug("OARrestapi: \t  GETRequestToOARRestAPI  \
                        self.oarserver['uri'] %s strval %s" \
                        %(self.oarserver['uri'], strval))
        try :  
            #seems that it does not work if we don't add this
            headers['content-length'] = '0' 

            conn = HTTPConnection(self.oarserver['ip'], \
                                                self.oarserver['port'])
            conn.request("GET", self.oarserver['uri'], data, headers)
            resp = ( conn.getresponse()).read()
            conn.close()
        except HTTPException, error :
            logger.log_exc("GET_OAR_SRVR : Problem with OAR server : %s " \
                                                                    %(error))
开发者ID:tubav,项目名称:sfa,代码行数:35,代码来源:OARrestapi.py


示例3: get_slice_and_slivers

    def get_slice_and_slivers(self, slice_xrn, login=None):
        """
        Returns a dict of slivers keyed on the sliver's node_id
        """
        slivers = {}
        sfa_slice = None
        if not slice_xrn:
            return (sfa_slice, slivers)
        slice_urn = hrn_to_urn(slice_xrn, 'slice')
        slice_hrn, _ = urn_to_hrn(slice_xrn)
        slice_name = slice_hrn

        slices = self.driver.GetSlices(slice_filter= str(slice_name), \
                                                slice_filter_type = 'slice_hrn', login=login)
        
        logger.debug("Slabaggregate api \tget_slice_and_slivers \
                        sfa_slice %s \r\n slices %s self.driver.hrn %s" \
                        %(sfa_slice, slices, self.driver.hrn))
        if not slices:
            return (sfa_slice, slivers)
        #if isinstance(sfa_slice, list):
            #sfa_slice = slices[0]
        #else:
            #sfa_slice = slices

        # sort slivers by node id , if there is a job
        #and therfore, node allocated to this slice
        for sfa_slice in slices:
            try:
                node_ids_list =  sfa_slice['node_ids']  
            except KeyError:
                logger.log_exc("SLABAGGREGATE \t \
                                        get_slice_and_slivers KeyError ")
                continue
                                        
            for node in node_ids_list:
                sliver_xrn = Xrn(slice_urn, type='sliver', id=node)
                sliver_xrn.set_authority(self.driver.hrn)
                #node_id = self.driver.root_auth + '.' + node_id
                sliver = Sliver({'sliver_id':sliver_xrn.urn, 
                                'name': sfa_slice['hrn'],
                                'type': 'slab-node', 
                                'tags': []})
                
                slivers[node] = sliver
          
        
        #Add default sliver attribute :
        #connection information for senslab
        if get_authority (sfa_slice['hrn']) == self.driver.root_auth: 
            tmp = sfa_slice['hrn'].split('.')
            ldap_username = tmp[1].split('_')[0]
            vmaddr = 'ssh ' + ldap_username + '@grenoble.senslab.info'
            slivers['default_sliver'] =  {'vm': vmaddr , 'login': ldap_username}
            
        #TODO get_slice_and_slivers Find the login of the external user

        logger.debug("SLABAGGREGATE api get_slice_and_slivers  slivers %s "\
                                                             %(slivers))
        return (slices, slivers)
开发者ID:tubav,项目名称:sfa,代码行数:60,代码来源:slabaggregate.py


示例4: verify_slice_nodes

    def verify_slice_nodes(self, sfa_slice, requested_slivers, peer):
        current_slivers = []
        deleted_nodes = []

        if 'node_ids' in sfa_slice:
            nodes = self.driver.GetNodes(sfa_slice['list_node_ids'], \
                ['hostname'])
            current_slivers = [node['hostname'] for node in nodes]
    
            # remove nodes not in rspec
            deleted_nodes = list(set(current_slivers).\
                                                difference(requested_slivers))
            # add nodes from rspec
            #added_nodes = list(set(requested_slivers).\
                                        #difference(current_slivers))


            logger.debug("SLABSLICES \tverify_slice_nodes slice %s\
                                         \r\n \r\n deleted_nodes %s"\
                                        %(sfa_slice, deleted_nodes))

            if deleted_nodes:
                #Delete the entire experience
                self.driver.DeleteSliceFromNodes(sfa_slice)
                #self.driver.DeleteSliceFromNodes(sfa_slice['slice_hrn'], \
                                                                #deleted_nodes)
            return nodes
开发者ID:tubav,项目名称:sfa,代码行数:27,代码来源:slabslices.py


示例5: __init__

    def __init__(self, server_address, HandlerClass, key_file, cert_file, logRequests=True):
        """Secure XML-RPC server.

        It it very similar to SimpleXMLRPCServer but it uses HTTPS for transporting XML data.
        """
        logger.debug("SecureXMLRPCServer.__init__, server_address=%s, cert_file=%s"%(server_address,cert_file))
        self.logRequests = logRequests
        self.interface = None
        self.key_file = key_file
        self.cert_file = cert_file
        self.method_map = {}
        # add cache to the request handler
        HandlerClass.cache = Cache()
        #for compatibility with python 2.4 (centos53)
        if sys.version_info < (2, 5):
            SimpleXMLRPCServer.SimpleXMLRPCDispatcher.__init__(self)
        else:
           SimpleXMLRPCServer.SimpleXMLRPCDispatcher.__init__(self, True, None)
        SocketServer.BaseServer.__init__(self, server_address, HandlerClass)
        ctx = SSL.Context(SSL.SSLv23_METHOD)
        ctx.use_privatekey_file(key_file)        
        ctx.use_certificate_file(cert_file)
        # If you wanted to verify certs against known CAs.. this is how you would do it
        #ctx.load_verify_locations('/etc/sfa/trusted_roots/plc.gpo.gid')
        config = Config()
        trusted_cert_files = TrustedRoots(config.get_trustedroots_dir()).get_file_list()
        for cert_file in trusted_cert_files:
            ctx.load_verify_locations(cert_file)
        ctx.set_verify(SSL.VERIFY_PEER | SSL.VERIFY_FAIL_IF_NO_PEER_CERT, verify_callback)
        ctx.set_verify_depth(5)
        ctx.set_app_data(self)
        self.socket = SSL.Connection(ctx, socket.socket(self.address_family,
                                                        self.socket_type))
        self.server_bind()
        self.server_activate()
开发者ID:planetlab,项目名称:sfa,代码行数:35,代码来源:server.py


示例6: get_peer

 def get_peer(self, xrn):
     hrn, hrn_type = urn_to_hrn(xrn)
     #Does this slice belong to a local site or a peer senslab site?
     peer = None
     
     # get this slice's authority (site)
     slice_authority = get_authority(hrn)
     site_authority = slice_authority
     # get this site's authority (sfa root authority or sub authority)
     #site_authority = get_authority(slice_authority).lower()
     logger.debug("SLABSLICES \ get_peer slice_authority  %s \
                 site_authority %s hrn %s" %(slice_authority, \
                                     site_authority, hrn))
     #This slice belongs to the current site
     if site_authority == self.driver.root_auth :
         return None
     # check if we are already peered with this site_authority, if so
     #peers = self.driver.GetPeers({})  
     peers = self.driver.GetPeers(peer_filter = slice_authority)
     for peer_record in peers:
       
         if site_authority == peer_record.hrn:
             peer = peer_record
     logger.debug(" SLABSLICES \tget_peer peer  %s " %(peer))
     return peer
开发者ID:tubav,项目名称:sfa,代码行数:25,代码来源:slabslices.py


示例7: verify_chain

    def verify_chain(self, trusted_certs = None):
        # Verify a chain of certificates. Each certificate must be signed by
        # the public key contained in it's parent. The chain is recursed
        # until a certificate is found that is signed by a trusted root.

        # verify expiration time
        if self.cert.has_expired():
            raise CertExpired(self.get_subject(), "client cert")   
        
        # if this cert is signed by a trusted_cert, then we are set
        for trusted_cert in trusted_certs:
            if self.is_signed_by_cert(trusted_cert):
                logger.debug("Cert %s signed by trusted cert %s", self.get_subject(), trusted_cert.get_subject())
                # verify expiration of trusted_cert ?
                if not trusted_cert.cert.has_expired():
                    return trusted_cert
                else:
                    logger.debug("Trusted cert %s is expired", trusted_cert.get_subject())       

        # if there is no parent, then no way to verify the chain
        if not self.parent:
            #print self.get_subject(), "has no parent"
            raise CertMissingParent(self.get_subject())

        # if it wasn't signed by the parent...
        if not self.is_signed_by_cert(self.parent):
            #print self.get_subject(), "is not signed by parent"
            return CertNotSignedByParent(self.get_subject())

        # if the parent isn't verified...
        self.parent.verify_chain(trusted_certs)

        return
开发者ID:fp7-alien,项目名称:C-BAS,代码行数:33,代码来源:certificate.py


示例8: DeleteLeases

    def DeleteLeases(self, leases_id_list, slice_hrn):
        """

        Deletes several leases, based on their experiment ids and the slice
            they are associated with. Uses DeleteOneLease to delete the
            experiment on the testbed. Note that one slice can contain multiple
            experiments, and in this
            case all the experiments in the leases_id_list MUST belong to this
            same slice, since there is only one slice hrn provided here.

        :param leases_id_list: list of job ids that belong to the slice whose
            slice hrn is provided.
        :param slice_hrn: the slice hrn.
        :type slice_hrn: string

        .. warning:: Does not have a return value since there was no easy
            way to handle failure when dealing with multiple job delete. Plus,
            there was no easy way to report it to the user.

        """
        logger.debug("CORTEXLAB_API DeleteLeases leases_id_list %s slice_hrn %s \
                \r\n " %(leases_id_list, slice_hrn))
        for experiment_id in leases_id_list:
            self.DeleteOneLease(experiment_id, slice_hrn)

        return
开发者ID:aquila,项目名称:sfa,代码行数:26,代码来源:cortexlabshell.py


示例9: LdapDeleteUser

    def LdapDeleteUser(self, record_filter):
        """Deletes a SFA person in LDAP, based on the user's hrn.

        :param record_filter: Filter to find the user to be deleted. Must
            contain at least the user's email.
        :type record_filter: dict
        :returns: dict with bool True if successful, bool False and error
            message otherwise.
        :rtype: dict

        .. seealso:: LdapFindUser docstring for more info on record filter.
        .. seealso:: LdapDelete for user deletion

        """
        #Find uid of the  person
        person = self.LdapFindUser(record_filter, [])
        logger.debug("LDAPapi.py \t LdapDeleteUser record %s person %s"
                     % (record_filter, person))

        if person:
            dn = 'uid=' + person['uid'] + "," + self.baseDN
        else:
            return {'bool': False}

        result = self.LdapDelete(dn)
        return result
开发者ID:aquila,项目名称:sfa,代码行数:26,代码来源:LDAPapi.py


示例10: merge_node

 def merge_node(self, source_node_tag, network, no_dupes = False):
     logger.debug("SLABV1 merge_node")
     #if no_dupes and self.get_node_element(node['hostname']):
         ## node already exists
         #return
     network_tag = self.add_network(network)
     network_tag.append(deepcopy(source_node_tag))
开发者ID:nfvproject,项目名称:SFA,代码行数:7,代码来源:iotlabv1.py


示例11: GetReservedNodes

    def GetReservedNodes(self, username=None):
        """ Get list of leases. Get the leases for the username if specified,
        otherwise get all the leases. Finds the nodes hostnames for each
        OAR node identifier.
        :param username: user's LDAP login
        :type username: string
        :returns: list of reservations dict
        :rtype: dict list
        """

        #Get the nodes in use and the reserved nodes
        reservation_dict_list = \
                        self.oar.parser.SendRequest("GET_reserved_nodes", \
                        username = username)

        # Get the full node dict list once for all
        # so that we can get the hostnames given their oar node id afterwards
        # when the reservations are checked.
        full_nodes_dict_list = self.GetNodes()
        #Put the full node list into a dictionary keyed by oar node id
        oar_id_node_dict = {}
        for node in full_nodes_dict_list:
            oar_id_node_dict[node['oar_id']] = node

        for resa in reservation_dict_list:
            logger.debug ("GetReservedNodes resa %s"%(resa))
            #dict list of hostnames and their site
            resa['reserved_nodes'] = \
                self.__get_hostnames_from_oar_node_ids(oar_id_node_dict,
                    resa['resource_ids'])

        #del resa['resource_ids']
        return reservation_dict_list
开发者ID:nfvproject,项目名称:SFA,代码行数:33,代码来源:iotlabshell.py


示例12: DeleteSliceFromNodes

    def DeleteSliceFromNodes(self, slice_record):
        """
        Deletes all the running or scheduled jobs of a given slice
            given its record.

        :param slice_record: record of the slice, must contain experiment_id,
        user
        :type slice_record: dict
        :returns: dict of the jobs'deletion status. Success= True, Failure=
            False, for each job id.
        :rtype: dict

        .. note: used in driver delete_sliver

        """
        logger.debug("CORTEXLAB_API \t  DeleteSliceFromNodes %s "
                     % (slice_record))

        if isinstance(slice_record['experiment_id'], list):
            experiment_bool_answer = {}
            for experiment_id in slice_record['experiment_id']:
                ret = self.DeleteOneLease(experiment_id, slice_record['user'])

                experiment_bool_answer.update(ret)

        else:
            experiment_bool_answer = [self.DeleteOneLease(
                                        slice_record['experiment_id'],
                                        slice_record['user'])]

        return experiment_bool_answer
开发者ID:aquila,项目名称:sfa,代码行数:31,代码来源:cortexlabshell.py


示例13: sign

 def sign(self):
     logger.debug('certificate.sign')
     assert self.cert != None
     assert self.issuerSubject != None
     assert self.issuerKey != None
     self.cert.set_issuer(self.issuerSubject)
     self.cert.sign(self.issuerKey.get_openssl_pkey(), self.digest)
开发者ID:planetlab,项目名称:sfa,代码行数:7,代码来源:certificate.py


示例14: list_resources

 def list_resources (self, slice_urn, slice_hrn, creds, options):
     cached_requested = options.get('cached', True) 
 
     version_manager = VersionManager()
     # get the rspec's return format from options
     rspec_version = version_manager.get_version(options.get('geni_rspec_version'))
     version_string = "rspec_%s" % (rspec_version)
 
     #panos adding the info option to the caching key (can be improved)
     if options.get('info'):
         version_string = version_string + "_"+options.get('info', 'default')
 
     # look in cache first
     if cached_requested and self.cache and not slice_hrn:
         rspec = self.cache.get(version_string)
         if rspec:
             logger.debug("OpenStackDriver.ListResources: returning cached advertisement")
             return rspec 
 
     #panos: passing user-defined options
     #print "manager options = ",options
     aggregate = OSAggregate(self)
     rspec =  aggregate.get_rspec(slice_xrn=slice_urn, version=rspec_version, 
                                  options=options)
 
     # cache the result
     if self.cache and not slice_hrn:
         logger.debug("OpenStackDriver.ListResources: stores advertisement in cache")
         self.cache.add(version_string, rspec)
 
     return rspec
开发者ID:tubav,项目名称:sfa,代码行数:31,代码来源:nova_driver.py


示例15: list_resources

    def list_resources (self, slice_urn, slice_hrn, creds, options):
        # right now rspec_version is ignored on the federica side
        # we normally derive it from options
        # look in cache if client has requested so
        cached_requested = options.get('cached', True) 
        # global advertisement
        if not slice_hrn:
            # self.cache is initialized unless the global config has it turned off
            if cached_requested and self.cache:
                # using federica_version_string as the key into the cache
                rspec = self.cache.get(federica_version_string)
                if rspec:
                    logger.debug("FdDriver.ListResources: returning cached advertisement")
                    return self.response(rspec)
            # otherwise, need to get it
                # java code expects creds as a String
#            rspec = self.shell.listAvailableResources (creds, federica_version_string)
            rspec = self.shell.listAvailableResources ("", federica_version_string)
#            rspec = self.shell.listAvailableResources (federica_version_string)
            # cache it for future use
            if self.cache:
                logger.debug("FdDriver.ListResources: stores advertisement in cache")
                self.cache.add(federica_version_string, rspec)
            return self.response(rspec)
        # about a given slice : don't cache
        else:
                # java code expects creds as a String
#            return self.response(self.shell.listSliceResources(creds, federica_version_string, slice_urn))
            return self.response(self.shell.listSliceResources("", federica_version_string, slice_urn))
开发者ID:tubav,项目名称:sfa,代码行数:29,代码来源:fddriver.py


示例16: DeleteSliceFromNodes

    def DeleteSliceFromNodes(self, slice_record):
        """

        Deletes all the running or scheduled jobs of a given slice
            given its record.

        :param slice_record: record of the slice, must contain oar_job_id, user
        :type slice_record: dict

        :returns: dict of the jobs'deletion status. Success= True, Failure=
            False, for each job id.
        :rtype: dict

        """
        logger.debug("IOTLAB_API \t  DeleteSliceFromNodes %s "
                     % (slice_record))

        if isinstance(slice_record['oar_job_id'], list):
            oar_bool_answer = {}
            for job_id in slice_record['oar_job_id']:
                ret = self.DeleteJobs(job_id, slice_record['user'])

                oar_bool_answer.update(ret)

        else:
            oar_bool_answer = self.DeleteJobs(slice_record['oar_job_id'],
                                               slice_record['user'])

        return oar_bool_answer
开发者ID:nfvproject,项目名称:SFA,代码行数:29,代码来源:iotlabshell.py


示例17: DeleteOneLease

    def DeleteOneLease(self, lease_id, username):
        """

        Deletes the lease with the specified lease_id and username on OAR by
            posting a delete request to OAR.

        :param lease_id: Reservation identifier.
        :param username: user's iotlab login in LDAP.
        :type lease_id: Depends on what tou are using, could be integer or
            string
        :type username: string

        :returns: dictionary with the lease id and if delete has been successful
            (True) or no (False)
        :rtype: dict

        """

        # Here delete the lease specified
        answer = self.query_sites.delete_experiment(lease_id, username)

        # If the username is not necessary to delete the lease, then you can
        # remove it from the parameters, given that you propagate the changes
        # Return delete status so that you know if the delete has been
        # successuf or not


        if answer['status'] is True:
            ret = {lease_id: True}
        else:
            ret = {lease_id: False}
        logger.debug("CORTEXLAB_API \DeleteOneLease lease_id  %s \r\n answer %s \
                                username %s" % (lease_id, answer, username))
        return ret
开发者ID:aquila,项目名称:sfa,代码行数:34,代码来源:cortexlabshell.py


示例18: DeleteJobs

    def DeleteJobs(self, job_id, username):
        """

        Deletes the job with the specified job_id and username on OAR by
            posting a delete request to OAR.

        :param job_id: job id in OAR.
        :param username: user's iotlab login in LDAP.
        :type job_id: integer
        :type username: string

        :returns: dictionary with the job id and if delete has been successful
            (True) or no (False)
        :rtype: dict

        """
        logger.debug("IOTLAB_API \tDeleteJobs jobid  %s username %s "
                     % (job_id, username))
        if not job_id or job_id is -1:
            return

        reqdict = {}
        reqdict['method'] = "delete"
        reqdict['strval'] = str(job_id)

        answer = self.oar.POSTRequestToOARRestAPI('DELETE_jobs_id',
                                                  reqdict, username)
        if answer['status'] == 'Delete request registered':
            ret = {job_id: True}
        else:
            ret = {job_id: False}
        logger.debug("IOTLAB_API \tDeleteJobs jobid  %s \r\n answer %s \
                                username %s" % (job_id, answer, username))
        return ret
开发者ID:nfvproject,项目名称:SFA,代码行数:34,代码来源:iotlabshell.py


示例19: find_max_uidNumber

    def find_max_uidNumber(self):
        """Find the LDAP max uidNumber (POSIX uid attribute).

        Used when adding a new user in LDAP Directory

        :returns: max uidNumber + 1
        :rtype: string

        """
        #First, get all the users in the LDAP
        get_attrs = "(uidNumber=*)"
        login_filter = ['uidNumber']

        result_data = self.LdapSearch(get_attrs, login_filter)
        #It there is no user in LDAP yet, First LDAP user
        if result_data == []:
            max_uidnumber = self.ldapUserUidNumberMin
        #Otherwise, get the highest uidNumber
        else:
            uidNumberList = [int(r[1]['uidNumber'][0])for r in result_data]
            logger.debug("LDAPapi.py \tfind_max_uidNumber  \
                            uidNumberList %s " % (uidNumberList))
            max_uidnumber = max(uidNumberList) + 1

        return str(max_uidnumber)
开发者ID:aquila,项目名称:sfa,代码行数:25,代码来源:LDAPapi.py


示例20: _process_ldap_info_for_one_user

    def _process_ldap_info_for_one_user(self, record, result_data):
        """

        Put the user's ldap data into shape. Only deals with one user
        record and one user data from ldap.

        :param record: user record
        :param result_data: Raw ldap data coming from LdapSearch
        :returns: user's data dict with 'type','pkey','uid', 'email',
            'first_name' 'last_name''serial''authority''peer_authority'
            'pointer''hrn'
        :type record: dict
        :type result_data: list
        :rtype :dict

        """
        #One entry only in the ldap data because we used a  filter
        #to find one user only
        ldapentry = result_data[0][1]
        logger.debug("LDAP.PY \t LdapFindUser ldapentry %s" % (ldapentry))
        tmpname = ldapentry['uid'][0]

        tmpemail = ldapentry['mail'][0]
        if ldapentry['mail'][0] == "unknown":
            tmpemail = None

        parent_hrn = None
        peer_authority = None
        if 'hrn' in record:
            hrn = record['hrn']
            parent_hrn = get_authority(hrn)
            if parent_hrn != self.authname:
                peer_authority = parent_hrn
            #In case the user was not imported from Iotlab LDAP
            #but from another federated site, has an account in
            #iotlab but currently using his hrn from federated site
            #then the login is different from the one found in its hrn
            if tmpname != hrn.split('.')[1]:
                hrn = None
        else:
            hrn = None

        results = {
            'type': 'user',
            'pkey': ldapentry['sshPublicKey'],
            #'uid': ldapentry[1]['uid'][0],
            'uid': tmpname,
            'email': tmpemail,
            #'email': ldapentry[1]['mail'][0],
            'first_name': ldapentry['givenName'][0],
            'last_name': ldapentry['sn'][0],
            #'phone': 'none',
            'serial': 'none',
            'authority': parent_hrn,
            'peer_authority': peer_authority,
            'pointer': -1,
            'hrn': hrn,
                    }
        return results
开发者ID:aquila,项目名称:sfa,代码行数:59,代码来源:LDAPapi.py



注:本文中的sfa.util.sfalogging.logger.debug函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python logger.info函数代码示例发布时间:2022-05-27
下一篇:
Python gid.GID类代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap