ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/Processing/bin/downloadSample.py
(Generate patch)

Comparing UserCode/MitProd/Processing/bin/downloadSample.py (file contents):
Revision 1.5 by paus, Sun Dec 5 01:01:20 2010 UTC vs.
Revision 1.6 by paus, Mon Sep 19 21:45:40 2011 UTC

# Line 28 | Line 28 | import os,sys,getopt,re,string
28  
29   dCacheDoor = 't2srv0012.cmsaf.mit.edu'
30  
31 + def Domain():
32 +    domain = os.uname()[1]
33 +    f = domain.split('.')
34 +    return '.'.join(f[1:])
35 +    
36   def Seconds():
37      for secs in os.popen('date +%s').readlines():
38          secs = int(secs[:-1])
# Line 266 | Line 271 | mitDataset      = None
271   skip            = ''
272   skipList        = []
273   mitCfg          = 'filefi'
274 < version         = '014'
274 > version         = '023'
275   cmssw           = ''
276   blockLocal      = 0
277   localStorageUrl = ''
278 < localPath       = '/server/02b/mitprod'
278 > localPath       = '/mnt/hadoop/cmsprod'
279   pattern         = ''
280   noCache         = 0
281   backward        = ''
# Line 328 | Line 333 | if cmsDataset == None and mitDataset ==
333      cmd = '--cmsDataset option not provided. This is required.'
334      raise RuntimeError, cmd
335  
336 < crabFile = os.environ['MIT_PROD_DIR'] + '/' + mitCfg + '/' + version + '/' + 'crab.cfg'
337 < if not os.path.exists(crabFile):
338 <    cmd = 'Crab file not found: %s' % crabFile
336 > seFile   = os.environ['MIT_PROD_DIR'] + '/' + mitCfg + '/' + version + '/' + 'seTable'
337 > if not os.path.exists(seFile):
338 >    cmd = 'Storage element file not found: %s' % seFile
339      raise RuntimeError, cmd
340   cmsswFile = os.environ['MIT_PROD_DIR'] + '/' + mitCfg + '/' + version + '/' + cmsswCfg
341   if not os.path.exists(cmsswFile):
# Line 414 | Line 419 | print '\n Preparing dataset for transfer
419   pMitDset = re.compile('XX-MITDATASET-XX')
420   pMitCfg  = re.compile('XX-MITCFG-XX')
421   pMitVers = re.compile('XX-MITVERSION-XX')
422 < # find the forseen storage place
423 < crabFile  = os.environ['MIT_PROD_DIR'] + '/' + mitCfg + '/' + version + '/' + 'crab.cfg'
424 < cmd = 'grep ^storage_element ' + crabFile
425 < for file in os.popen(cmd).readlines():   # run command
426 <    line        = file[:-1]              # strip '\n'
427 <    # decode the storage element name
428 <    names       = line.split("=")        # splitting every '='
429 <    storageEle  = names.pop()
430 <    storageEle  = re.sub("\s", "",storageEle)
431 < # Compile search and replacement sequences just for the path
432 < cmd = 'grep ^storage_path ' + crabFile
433 < for file in os.popen(cmd).readlines():   # run command
434 <    line        = file[:-1]              # strip '\n'
435 <    line        = pMitDset.sub(mitDataset,line);
436 <    line        = pMitCfg .sub(mitCfg,    line);
437 <    line        = pMitVers.sub(version,   line);
438 <    # decode the storage directory name
439 <    names       = line.split("=")        # splitting every '='
440 <    names       = names[1:]
436 <    storagePath = "=".join(names)
437 <    storagePath = re.sub("\s", "",storagePath)
438 <
439 < ##storage_element        = srm-cms.cern.ch
440 < ##storage_path           = /srm/managerv2?SFN=/castor/cern.ch
441 <
442 < ## Hardwire
443 < if fromCern:
444 <    storageEle  = 'srm-cms.cern.ch'
445 <    storagePath = '/srm/managerv2?SFN=/castor/cern.ch'
422 > # decide on the forseen default storage place (where are we running)
423 > storageTag = 'T2_US_MIT'
424 > domain = Domain()
425 > if   re.search('mit.edu',domain):
426 >    storageTag = 'T2_US_MIT'
427 > elif re.search('cern.ch',domain):
428 >    storageTag = 'T0_CH_CERN'
429 >
430 > cmd = 'grep ^' + storageTag + ' ' + seFile
431 > for line in os.popen(cmd).readlines():   # run command
432 >    print ' LINE: ' + line
433 >    line = line[:-1]                     # strip '\n'
434 >    line = line.replace(' ','')
435 >    f = line.split(':')
436 >    storageEle    = f[1]
437 >    storagePath   = f[2]
438 >    userRemoteDir = f[3]
439 >    print ' Storage -- Ele: ' + storageEle \
440 >          + '  Path: ' + storagePath + '  UserDir: ' + userRemoteDir
441  
442 < storageUrl = 'srm://' + storageEle + ':8443' + storagePath
448 <
449 < cmd = 'grep ^user_remote_dir ' + crabFile
450 < for file in os.popen(cmd).readlines():   # run command
451 <    line        = file[:-1]              # strip '\n'
452 <    line        = pMitDset.sub(mitDataset,line);
453 <    line        = pMitCfg .sub(mitCfg,    line);
454 <    line        = pMitVers.sub(version,   line);
455 <    # decode the storage directory name
456 <    names       = line.split("=")        # splitting every '='
457 <    names       = names[1:]
458 <    userRemoteDir = "=".join(names)
459 <    userRemoteDir = re.sub("\s","",userRemoteDir)
460 <    userRemoteDir = re.sub("/XX-CRABID-XX","",userRemoteDir)
461 <
462 < ## Hardwire
442 > # Hardwire
443   if fromCern:
444 +    storageEle    = 'srm-cms.cern.ch'
445 +    storagePath   = '/srm/managerv2?SFN=/castor/cern.ch'
446      userRemoteDir = "/user/p/paus/" + mitCfg + "/" + version + "/" + mitDataset
447  
448 + # determine the storage URL
449 + storageUrl = 'srm://' + storageEle + ':8443' + storagePath
450   if userRemoteDir != '':
451      storagePath += userRemoteDir
452      storageUrl  += userRemoteDir

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines