ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CRAB/python/find_goodfiles.py
Revision: 1.1
Committed: Wed Feb 29 17:19:52 2012 UTC (13 years, 2 months ago) by fanzago
Content type: text/x-python
Branch: MAIN
CVS Tags: CRAB_2_9_1, CRAB_2_9_1_pre2, CRAB_2_9_1_pre1, CRAB_2_9_0, CRAB_2_9_0_pre2, CRAB_2_9_0_pre1, CRAB_2_8_8, CRAB_2_8_8_pre1, CRAB_2_8_7_patch3, CRAB_2_8_7_patch2, CRAB_2_8_7_patch1, CRAB_2_8_7, CRAB_2_8_7_pre2, CRAB_2_8_7_pre1, CRAB_2_8_6, CRAB_2_8_6_pre1, CRAB_2_8_5_patch3, CRAB_2_8_5_patch2, CRAB_2_8_5_patch1, CRAB_2_8_5, CRAB_2_8_5_pre5, CRAB_2_8_5_pre4, CRAB_2_8_5_pre3, CRAB_2_8_4_patch3, CRAB_2_8_5_pre2, CRAB_2_8_4_patch2, CRAB_2_8_5_pre1, CRAB_2_8_4_patch1, CRAB_2_8_4, CRAB_2_8_4_pre5, CRAB_2_8_4_pre4, CRAB_2_8_4_pre3, CRAB_2_8_4_pre2, CRAB_2_8_4_pre1, CRAB_2_8_3, CRAB_2_8_3_pre4, CRAB_2_8_3_pre3, CRAB_2_8_3_pre2, CRAB_2_8_3_pre1, CRAB_2_8_2_patch1, CRAB_2_8_2, CRAB_2_8_2_pre5, CRAB_2_8_2_pre4, CRAB_2_8_2_pre3, CRAB_2_8_2_pre2, CRAB_2_8_2_pre1, CRAB_2_8_1, HEAD
Log Message:
analyses fjr files and prints surl of the Root files

File Contents

# User Rev Content
1 fanzago 1.1 #!/usr/bin/env python
2    
3     import re, os
4     import getopt, sys
5     import FjrParser as fp
6    
7     def usage (prog_name):
8     print ">>> usage: " + prog_name + " -c <crab directory> [--help | -h] [--quite | -q]"
9    
10     def help (prog_name):
11     usage(prog_name)
12    
13     print """
14     -c\t\t\t (Mandatory) CRAB project directory
15     --quiet, -q\t\t Wehn turned on, works silently
16     --help, -h\t\t Print this message
17     """
18     sys.exit(1)
19    
20     if __name__ == '__main__':
21     (prog_path, prog_name) = os.path.split(sys.argv[0])
22     if len(sys.argv) < 2:
23     help(prog_name)
24    
25     try:
26     opts, argv = getopt.getopt(sys.argv[1:], "hc:q", ["help","quiet"])
27     except getopt.GetoptError, err:
28     print ">>> " + str(err)
29     help(prog_name)
30    
31     quiet = False
32     directory = ""
33     for o, a in opts:
34     if o == "-c":
35     directory = a
36     elif o in ("-q", "--quiet"):
37     quiet = True
38     elif o in ("-h", "--help"):
39     help(prog_name)
40     else:
41     print ">>> ", "unhandled option", o
42     help(prog_name)
43    
44     if directory == "" or not os.path.exists(directory):
45     print ">>> path <" + directory + "> may not exist"
46     help(prog_name)
47    
48     fjrs = fp.get_fjrs(directory)
49     for f in fjrs:
50     if not quiet:
51     print ">>> ", "processing fjr", f
52    
53     # parse fjr
54     try:
55     doc = fp.parse_xml(f)
56     except:
57     if not quiet:
58     print ">>> ", 'FrameworkJobReport', f, 'could not be parsed and is skipped'
59     continue
60    
61     # if the job finished successfully get the PFN
62     try:
63     if fp.is_goodfile(doc) :
64     (lfn, pfn, surl) = fp.get_filenames(doc)
65     print pfn
66     except:
67     if not quiet:
68     print ">>> ", "skipping fjr", f