本文整理汇总了Python中DIRAC.Core.DISET.private.FileHelper.FileHelper.networkToDataSink方法的典型用法代码示例。如果您正苦于以下问题:Python FileHelper.networkToDataSink方法的具体用法?Python FileHelper.networkToDataSink怎么用?Python FileHelper.networkToDataSink使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DIRAC.Core.DISET.private.FileHelper.FileHelper
的用法示例。
在下文中一共展示了FileHelper.networkToDataSink方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: getDataFromService
# 需要导入模块: from DIRAC.Core.DISET.private.FileHelper import FileHelper [as 别名]
# 或者: from DIRAC.Core.DISET.private.FileHelper.FileHelper import networkToDataSink [as 别名]
def getDataFromService( self, srvMethod, params ):
self.infoMsg( "Sending header request to %s" % self.getDestinationService(), str( params ) )
result = self._sendTransferHeader( srvMethod, params )
if not result[ 'OK' ]:
self.errMsg( "Could not send header", result[ 'Message' ] )
return result
self.infoMsg( "Starting to receive data from service" )
srvTransport = result[ 'Value' ]
srvFileHelper = FileHelper( srvTransport )
srvFileHelper.setDirection( "receive" )
sIO = cStringIO.StringIO()
result = srvFileHelper.networkToDataSink( sIO, self.__transferBytesLimit )
if not result[ 'OK' ]:
self.errMsg( "Could receive data from server", result[ 'Message' ] )
srvTransport.close()
sIO.close()
return result
dataReceived = sIO.getvalue()
sIO.close()
self.infoMsg( "Received %s bytes from service" % len( dataReceived ) )
retVal = srvTransport.receiveData()
srvTransport.close()
if not retVal[ 'OK' ]:
return retVal
return S_OK( { 'data' : dataReceived, 'srvResponse' : retVal } )
示例2: receiveFile
# 需要导入模块: from DIRAC.Core.DISET.private.FileHelper import FileHelper [as 别名]
# 或者: from DIRAC.Core.DISET.private.FileHelper.FileHelper import networkToDataSink [as 别名]
def receiveFile( self, filename, fileId, token = "" ):
"""
Receive a file from the server
@type filename : string / file descriptor / file object
@param filename : File to receive from server
@type fileId : any
@param fileId : Identification of the file being received
@type token : string
@param token : Optional token for the file
@return : S_OK/S_ERROR
"""
fileHelper = FileHelper()
retVal = fileHelper.getDataSink( filename )
if not retVal[ 'OK' ]:
return retVal
dS = retVal[ 'Value' ]
closeAfterUse = retVal[ 'closeAfterUse' ]
retVal = self._sendTransferHeader( "ToClient", ( fileId, token ) )
if not retVal[ 'OK' ]:
return retVal
trid, transport = retVal[ 'Value' ]
try:
fileHelper.setTransport( transport )
retVal = fileHelper.networkToDataSink( dS )
if not retVal[ 'OK' ]:
return retVal
retVal = transport.receiveData()
if closeAfterUse:
dS.close()
return retVal
finally:
self._disconnect( trid )