CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Functions | Variables
fetchall_from_DQM_v2 Namespace Reference

Functions

def auth_wget
 

Variables

tuple all_files = file_list_re.findall(filedir_html)
 
string base_url = 'https://cmsweb.cern.ch/dqm/relval/data/browse/ROOT/'
 
tuple file_list_re = re.compile(r"<a href='[-./\w]*'>([-./\w]*)<")
 
list file_res = [re.compile(r) for r in options.regexp.split(',') + [options.release]]
 Fetch the files, using multi-processing. More...
 
tuple filedir_html = auth_wget(filedir_url)
 
string filedir_url = base_url+relvaldir+'/'
 
string help = 'Fetch data relvals.'
 
tuple parser = OptionParser(usage='usage: %prog [options]')
 Define options. More...
 
tuple pool = Pool(options.mthreads)
 
tuple release = re.findall('(CMSSW_\d*_\d*_)\d*(?:_[\w\d]*)?', options.release)
 
list releasedir = release[0]
 
string relvaldir = "RelVal"
 Parse sys.argv. More...
 
list selected_files = [f for f in all_files if all([r.search(f) for r in file_res])]
 

Function Documentation

def fetchall_from_DQM_v2.auth_wget (   url,
  chunk_size = 1048576 
)
Returns the content of specified URL, which requires authentication.
If the content is bigger than 1MB, then save it to file.

Definition at line 38 of file fetchall_from_DQM_v2.py.

38 
39 def auth_wget(url, chunk_size=1048576):
40  """Returns the content of specified URL, which requires authentication.
41  If the content is bigger than 1MB, then save it to file.
42  """
43  opener = build_opener(X509CertOpen())
44  url_file = opener.open(Request(url))
45  size = int(url_file.headers["Content-Length"])
46 
47  if size < 1048576: # if File size < 1MB
48  filename = basename(url) #still download
49  readed = url_file.read() ## and then check if its not an empty dir (parent directory)
50  if filename != '':
51  outfile = open(filename, 'wb') #then write File to local system
52  outfile.write(readed)
53  return readed
54 
55  filename = basename(url)
56  file_id = selected_files.index(filename)
57 
58  if isfile("./%s" % filename):
59  print '%d. Exsits on disk. Skipping.' % (file_id +1)
60  return
61 
62  print '%d. Downloading...' % (file_id +1)
63  file = open(filename, 'wb')
64  # progress = 0
65  chunk = url_file.read(chunk_size)
66  while chunk:
67  file.write(chunk)
68  # progress += chunk_size
69  chunk = url_file.read(chunk_size)
70  print '%d. Done.' % (file_id +1)
71  file.close()
72 

Variable Documentation

tuple fetchall_from_DQM_v2.all_files = file_list_re.findall(filedir_html)

Definition at line 123 of file fetchall_from_DQM_v2.py.

string fetchall_from_DQM_v2.base_url = 'https://cmsweb.cern.ch/dqm/relval/data/browse/ROOT/'

Definition at line 115 of file fetchall_from_DQM_v2.py.

tuple fetchall_from_DQM_v2.file_list_re = re.compile(r"<a href='[-./\w]*'>([-./\w]*)<")

Definition at line 122 of file fetchall_from_DQM_v2.py.

list fetchall_from_DQM_v2.file_res = [re.compile(r) for r in options.regexp.split(',') + [options.release]]

Fetch the files, using multi-processing.

Definition at line 130 of file fetchall_from_DQM_v2.py.

tuple fetchall_from_DQM_v2.filedir_html = auth_wget(filedir_url)

Definition at line 117 of file fetchall_from_DQM_v2.py.

string fetchall_from_DQM_v2.filedir_url = base_url+relvaldir+'/'

Definition at line 116 of file fetchall_from_DQM_v2.py.

string fetchall_from_DQM_v2.help = 'Fetch data relvals.'

Definition at line 76 of file fetchall_from_DQM_v2.py.

tuple fetchall_from_DQM_v2.parser = OptionParser(usage='usage: %prog [options]')

Define options.

Definition at line 74 of file fetchall_from_DQM_v2.py.

tuple fetchall_from_DQM_v2.pool = Pool(options.mthreads)

Definition at line 139 of file fetchall_from_DQM_v2.py.

tuple fetchall_from_DQM_v2.release = re.findall('(CMSSW_\d*_\d*_)\d*(?:_[\w\d]*)?', options.release)

Definition at line 110 of file fetchall_from_DQM_v2.py.

Referenced by ConfigurationDBHandler.cvt2String(), edm::DataMixingModule.DataMixingModule(), edm::stream::EDAnalyzerAdaptor< T >.EDAnalyzerAdaptor(), L1GtTriggerMenuXmlParser.findXMLChild(), l1t::TriggerMenuXmlParser.findXMLChild(), XMLDOMBlock.getNewDocument(), L1GtTriggerMenuXmlParser.getXMLAttribute(), l1t::TriggerMenuXmlParser.getXMLAttribute(), L1GtTriggerMenuXmlParser.getXMLTextValue(), l1t::TriggerMenuXmlParser.getXMLTextValue(), MonitorXMLParser.handleElement(), cond::XMLAuthenticationService::XMLAuthenticationService.initialize(), L1GtTriggerMenuXmlParser.initXML(), l1t::TriggerMenuXmlParser.initXML(), MonitorXMLParser.load(), MonitorXMLParser.MonitorXMLParser(), MuonAlignmentInputXML.newAlignableMuon(), XMLDOMBlock.parse(), L1GtTriggerMenuXmlParser.parseConditions(), MuonAlignmentInputXML.parseDouble(), SummaryPlotXmlParser.parseXML(), cond::XMLAuthenticationService::XMLAuthenticationService.processFile(), edm::stream::ProducingModuleAdaptor< T, M, B >.ProducingModuleAdaptor(), CalibrationXML.readAttribute(), edm::RootFile.RootFile(), XMLProcessor.serializeDOM(), cscdqm::XMLFileErrorHandler.warning(), L1GtTriggerMenuXmlParser.workXML(), CalibrationXML.writeAttribute(), xMLCh2String(), XMLDOMBlock.XMLDOMBlock(), ConfigurationDBHandler.~ConfigurationDBHandler(), LutXml.~LutXml(), MonitorXMLParser.~MonitorXMLParser(), MuonAlignmentInputXML.~MuonAlignmentInputXML(), edm::SingleConsumerQ::OperateBuffer< T >.~OperateBuffer(), ora::Serializer.~Serializer(), StrX.~StrX(), TagNames.~TagNames(), cscdqm::XercesStringTranscoder.~XercesStringTranscoder(), XMLSimpleStr.~XMLSimpleStr(), lhef::XMLSimpleStr.~XMLSimpleStr(), XMLUniStr.~XMLUniStr(), lhef::XMLUniStr.~XMLUniStr(), and XStr.~XStr().

list fetchall_from_DQM_v2.releasedir = release[0]

Definition at line 113 of file fetchall_from_DQM_v2.py.

string fetchall_from_DQM_v2.relvaldir = "RelVal"

Parse sys.argv.

Check for option errors Use options

Definition at line 106 of file fetchall_from_DQM_v2.py.

list fetchall_from_DQM_v2.selected_files = [f for f in all_files if all([r.search(f) for r in file_res])]

Definition at line 131 of file fetchall_from_DQM_v2.py.