コード例 #1
0
ファイル: acct.py プロジェクト: atsareg/BESDIRAC
 def getPlotImg( self ):
   """
   Get plot image
   """
   if 'file' not in request.params:
     c.error = "Maybe you forgot the file?"
     return render( "/error.mako" )
   plotImageFile = str( request.params[ 'file' ] )
   if plotImageFile.find( ".png" ) < -1:
     c.error = "Not a valid image!"
     return render( "/error.mako" )
   transferClient = getTransferClient( "Accounting/ReportGenerator" )
   tempFile = tempfile.TemporaryFile()
   retVal = transferClient.receiveFile( tempFile, plotImageFile )
   if not retVal[ 'OK' ]:
     c.error = retVal[ 'Message' ]
     return render( "/error.mako" )
   tempFile.seek( 0 )
   data = tempFile.read()
   response.headers['Content-type'] = 'image/png'
   response.headers['Content-Disposition'] = 'attachment; filename="%s.png"' % md5( plotImageFile ).hexdigest()
   response.headers['Content-Length'] = len( data )
   response.headers['Content-Transfer-Encoding'] = 'Binary'
   response.headers['Cache-Control'] = "no-cache, no-store, must-revalidate, max-age=0"
   response.headers['Pragma'] = "no-cache"
   response.headers['Expires'] = ( datetime.datetime.utcnow() - datetime.timedelta( minutes = -10 ) ).strftime( "%d %b %Y %H:%M:%S GMT" )
   return data
コード例 #2
0
 def getPlotImg( self ):
   """
   Get plot image
   """
   if 'file' not in request.params:
     c.error( "Maybe you forgot the file?" )
     return render( "/error.mako" )
   plotImageFile = request.params[ 'file' ]
   if plotImageFile.find( ".png" ) < -1:
     c.error( "Not a valid image!" )
     return render( "/error.mako" )
   transferClient = getTransferClient( "Framework/Monitoring" )
   tempFile = tempfile.TemporaryFile()
   retVal = transferClient.receiveFile( tempFile, plotImageFile )
   if not retVal[ 'OK' ]:
     c.error = retVal[ 'Message' ]
     return render( "/error.mako" )
   tempFile.seek( 0 )
   data = tempFile.read()
   response.headers['Content-type'] = 'image/png'
   #response.headers['Content-Disposition'] = 'attachment; filename="%s"' % plotImageFile
   response.headers['Content-Length'] = len( data )
   response.headers['Content-Transfer-Encoding'] = 'Binary'
   print len( data )
   return data
コード例 #3
0
 def getPlotImg(self):
     """
 Get plot image
 """
     if 'file' not in request.params:
         c.error("Maybe you forgot the file?")
         return render("/error.mako")
     plotImageFile = request.params['file']
     if plotImageFile.find(".png") < -1:
         c.error("Not a valid image!")
         return render("/error.mako")
     transferClient = getTransferClient("Framework/Monitoring")
     tempFile = tempfile.TemporaryFile()
     retVal = transferClient.receiveFile(tempFile, plotImageFile)
     if not retVal['OK']:
         c.error = retVal['Message']
         return render("/error.mako")
     tempFile.seek(0)
     data = tempFile.read()
     response.headers['Content-type'] = 'image/png'
     #response.headers['Content-Disposition'] = 'attachment; filename="%s"' % plotImageFile
     response.headers['Content-Length'] = len(data)
     response.headers['Content-Transfer-Encoding'] = 'Binary'
     print len(data)
     return data
コード例 #4
0
 def getPlotImg(self):
     """
 Get plot image
 """
     if 'file' not in request.params:
         c.error = "Maybe you forgot the file?"
         return render("/error.mako")
     plotImageFile = str(request.params['file'])
     if plotImageFile.find(".png") < -1:
         c.error = "Not a valid image!"
         return render("/error.mako")
     transferClient = getTransferClient("Accounting/ReportGenerator")
     tempFile = tempfile.TemporaryFile()
     retVal = transferClient.receiveFile(tempFile, plotImageFile)
     if not retVal['OK']:
         c.error = retVal['Message']
         return render("/error.mako")
     tempFile.seek(0)
     data = tempFile.read()
     response.headers['Content-type'] = 'image/png'
     response.headers[
         'Content-Disposition'] = 'attachment; filename="%s.png"' % md5(
             plotImageFile).hexdigest()
     response.headers['Content-Length'] = len(data)
     response.headers['Content-Transfer-Encoding'] = 'Binary'
     response.headers[
         'Cache-Control'] = "no-cache, no-store, must-revalidate, max-age=0"
     response.headers['Pragma'] = "no-cache"
     response.headers['Expires'] = (
         datetime.datetime.utcnow() -
         datetime.timedelta(minutes=-10)).strftime("%d %b %Y %H:%M:%S GMT")
     return data
コード例 #5
0
ファイル: Map.py プロジェクト: DIRACGrid/-obsolete-DIRACWeb
  def getImg(self):
    pagestart = time()
    transferClient = getTransferClient("Monitoring/SiteMapping")
    if "name" not in request.params:
      c.result = "file name is absent"
      return c.result
    name = request.params["name"]
#    if name.find( ".png" ) < -1:
#      c.result = "Not a valid image file"
#      return c.result
    gLogger.info("request for the file:", name)
    #data = self.__imgCache.get(name)
    #if not data:
    tmpFile = tempfile.NamedTemporaryFile()
    result = transferClient.receiveFile(tmpFile.name,name)
    teststring = "operation result for request file " + name + ": "
    gLogger.info(teststring, result)
    if not result["OK"]:
      c.result = result["Message"]
      return c.result
    tmpFile.seek( 0 )
    data = tmpFile.read()
      #self.__imgCache.add(name, 600, data)
    #else:
    #  gLogger.info("this file taken from cache:", name)
    response.headers['Content-type'] = 'image/png'
    response.headers['Content-Disposition'] = 'attachment; filename="%s"' % name
    response.headers['Content-Length'] = len(data)
    response.headers['Content-Transfer-Encoding'] = 'Binary'
    return data
コード例 #6
0
ファイル: Map.py プロジェクト: DIRACGrid/-obsolete-DIRACWeb
  def getKML(self):
    pagestart = time()
    transferClient = getTransferClient('Monitoring/SiteMapping')
    name = request.params["name"]
    tmpFile = tempfile.NamedTemporaryFile()
    gLogger.info('-- Arguments to SiteMapping service: %s %s ' %(tmpFile.name,name))
    result = transferClient.receiveFile(tmpFile.name,name)
    teststring = "operation result for request file " + name + ": "
    gLogger.info(teststring, result)
    if not result["OK"]:
      c.result = result["Message"]
      return c.result
    tmpFile.seek( 0 )
    data = tmpFile.read()
    #self.__imgCache.add(name, 600, data)
    return data

    transferClient = getTransferClient('Monitoring/SiteMapping')
    if "name" not in request.params:
      c.result = "file name is absent"
      return c.result
    name = request.params["name"]
#    if name.find( ".kml" ) < -1:
#      c.result = "Not a valid file"
#      return c.result
    gLogger.info("request for the file:", name)
    data = self.__imgCache.get(name)
    gLogger.info("data from cache:", data)
    if not data:
      tmpFile = tempfile.NamedTemporaryFile()
      result = transferClient.receiveFile(tmpFile.name,name)
      teststring = "operation result for request file " + name + ": "
      gLogger.info(teststring, result)
      if not result["OK"]:
        c.result = result["Message"]
        return c.result
      tmpFile.seek( 0 )
      data = tmpFile.read()
      self.__imgCache.add(name, 600, data)
#      gLogger.info("CACHE after add:", self.__imgCache.getKeys(100))
    else:
      gLogger.info("this file taken from cache:", name)
    response.headers['Content-type'] = 'text/xml; charset=utf-8'
    gLogger.info("CACHE:", self.__imgCache.getKeys(600))
    return data
コード例 #7
0
ファイル: JobMonitor.py プロジェクト: nikolalazovski/DIRACWeb
          file.file.close()
          tFile.close()
          fileNameList.append(name)
      except Exception,x:
        exception_counter = 1
        c.result = {"success":"false","error":"An EXCEPTION happens during saving your sandbox file(s): %s" % str(x)}
    if len(fileNameList) > 0 and exception_counter == 0:
      sndBox = "InputSandbox = {\"" + "\",\"".join(fileNameList) + "\"};"
    else:
      sndBox = ""
    if exception_counter == 0:
      jdl = jdl + sndBox
      from DIRAC.WorkloadManagementSystem.Client.WMSClient import WMSClient
      jobManager = WMSClient(getRPCClient("WorkloadManagement/JobManager"),
                             getRPCClient("WorkloadManagement/SandboxStore"),
                             getTransferClient("WorkloadManagement/SandboxStore"))
      jdl = str(jdl)
      gLogger.info("J D L : ",jdl)
      try:
        result = jobManager.submitJob(jdl)
        if result["OK"]:
          c.result = {"success":"true","result":result["Value"]}
        else:
          c.result = {"success":"false","error":result["Message"]}
      except Exception,x:
        c.result = {"success":"false","error":"An EXCEPTION happens during job submittion: %s" % str(x)}
    if clearFS:
      shutil.rmtree(storePath)
    return c.result
################################################################################