def uploadProxyToMyProxy( params, DNAsUsername ): """ Upload proxy to the MyProxy server """ myProxy = MyProxy() if DNAsUsername: gLogger.verbose( "Uploading pilot proxy with group %s to %s..." % ( params.getDIRACGroup(), myProxy.getMyProxyServer() ) ) else: gLogger.verbose( "Uploading user proxy with group %s to %s..." % ( params.getDIRACGroup(), myProxy.getMyProxyServer() ) ) retVal = myProxy.getInfo( proxyInfo[ 'path' ], useDNAsUserName = DNAsUsername ) if retVal[ 'OK' ]: remainingSecs = ( int( params.getProxyRemainingSecs() / 3600 ) * 3600 ) - 7200 myProxyInfo = retVal[ 'Value' ] if 'timeLeft' in myProxyInfo and remainingSecs < myProxyInfo[ 'timeLeft' ]: gLogger.verbose( " Already uploaded" ) return True retVal = generateProxy( params ) if not retVal[ 'OK' ]: gLogger.error( " There was a problem generating proxy to be uploaded to myproxy: %s" % retVal[ 'Message' ] ) return False retVal = getProxyInfo( retVal[ 'Value' ] ) if not retVal[ 'OK' ]: gLogger.error( " There was a problem generating proxy to be uploaded to myproxy: %s" % retVal[ 'Message' ] ) return False generatedProxyInfo = retVal[ 'Value' ] retVal = myProxy.uploadProxy( generatedProxyInfo[ 'path' ], useDNAsUserName = DNAsUsername ) if not retVal[ 'OK' ]: gLogger.error( " Can't upload to myproxy: %s" % retVal[ 'Message' ] ) return False gLogger.verbose( " Uploaded" ) return True