Revision: | 1.5 |
Committed: | Tue May 26 10:23:02 2009 UTC (15 years, 11 months ago) by spiga |
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, CRAB_2_8_0, CRAB_2_8_0_pre1, CRAB_2_7_10_pre3, CRAB_2_7_9_patch2_pre1, CRAB_2_7_10_pre2, CRAB_2_7_10_pre1, CRAB_2_7_9_patch1, CRAB_2_7_9, CRAB_2_7_9_pre5, CRAB_2_7_9_pre4, CRAB_2_7_9_pre3, CRAB_2_7_9_pre2, CRAB_2_7_8_patch2, CRAB_2_7_9_pre1, CRAB_2_7_8_patch2_pre1, CRAB_2_7_8_patch1, CRAB_2_7_8_patch1_pre1, CRAB_2_7_8, CRAB_2_7_8_pre3, CRAB_2_7_8_pre2, CRAB_2_7_8_dash3, CRAB_2_7_8_dash2, CRAB_2_7_8_dash, CRAB_2_7_7_patch1, CRAB_2_7_7_patch1_pre1, CRAB_2_7_8_pre1, CRAB_2_7_7, CRAB_2_7_7_pre2, CRAB_2_7_7_pre1, CRAB_2_7_6_patch1, CRAB_2_7_6, CRAB_2_7_6_pre1, CRAB_2_7_5_patch1, CRAB_2_7_5, CRAB_2_7_5_pre3, CRAB_2_7_5_pre2, CRAB_2_7_5_pre1, CRAB_2_7_4_patch1, CRAB_2_7_4, CRAB_2_7_4_pre6, CRAB_2_7_4_pre5, CRAB_2_7_4_pre4, CRAB_2_7_4_pre3, CRAB_2_7_4_pre2, CRAB_2_7_4_pre1, CRAB_2_7_3, CRAB_2_7_3_pre3, CRAB_2_7_3_pre3_beta, CRAB_2_7_3_pre2, CRAB_2_7_3_pre2_beta, CRAB_2_7_3_pre1, CRAB_2_7_3_beta3, CRAB_2_7_3_beta2, CRAB_2_7_3_beta1, CRAB_2_7_3_beta, CRAB_2_7_2_p1, CRAB_2_7_1_branch_firstMERGE, CRAB_2_7_2, CRAB_2_7_2_pre4, CRAB_2_7_2_pre3, CRAB_2_7_2_pre2, CRAB_2_7_2_pre1, CRAB_2_7_1, fede_170310, CRAB_2_7_1_pre12, CRAB_2_7_1_pre11, CRAB_2_7_1_pre10, CRAB_2_7_1_pre9, CRAB_LumiMask, CRAB_2_7_lumi, from_LimiMask, CRAB_2_7_1_pre8, CRAB_2_7_1_pre6, CRAB_2_7_1_pre5, CRAB_2_7_1_wmbs_pre4, CRAB_2_7_1_pre4, CRAB_2_7_1_pre3, CRAB_2_6_6_pre6, CRAB_2_7_1_pre2, CRAB_2_6_6_pre5, CRAB_2_7_1_pre1, CRAB_2_6_6_pre4, CRAB_2_6_6_pre3, CRAB_2_6_6_pre2, CRAB_2_6_6_check, CRAB_2_6_6, CRAB_2_6_6_pre1, CRAB_2_7_0, CRAB_2_6_5, CRAB_2_7_0_pre8, CRAB_2_6_5_pre1, CRAB_2_7_0_pre7, CRAB_2_6_4, CRAB_2_7_0_pre6, CRAB_2_6_4_pre1, CRAB_2_7_0_pre5, CRAB_2_6_3_patch_2, CRAB_2_6_3_patch_2_pre2, CRAB_2_6_3_patch_2_pre1, CRAB_2_6_3_patch_1, CRAB_2_7_0_pre4, CRAB_2_7_0_pre3, CRAB_2_6_3, CRAB_2_6_3_pre5, CRAB_2_6_3_pre4, CRAB_2_6_3_pre3, CRAB_2_6_3_pre2, CRAB_2_7_0_pre2, CRAB_2_6_3_pre1, test_1, CRAB_2_7_0_pre1, CRAB_2_6_2, CRAB_2_6_2_pre2, CRAB_2_6_2_pre1, CRAB_2_6_1_pre4, CRAB_2_6_1_pre3, CRAB_2_6_1_pre2, CRAB_2_6_1_pre1, CRAB_2_6_1, CRAB_2_6_0, CRAB_2_6_0_pre14, CRAB_2_6_0_pre13, CRAB_2_6_0_pre12, CRAB_2_6_0_pre11, CRAB_2_6_0_pre10, CRAB_2_6_0_pre9, CRAB_2_6_0_pre8, CRAB_2_6_0_pre7, CRAB_2_6_0_pre6, CRAB_2_6_0_pre5, CRAB_2_6_0_pre4, CRAB_2_6_0_pre3, HEAD |
Branch point for: | CRAB_multiout, CRAB_2_7_1_branch, Lumi2_8, CRAB_2_6_X_br |
Changes since 1.4: | +5 -6 lines |
Log Message: | adapting code to logging usage. (crab_logger removed) |
# | User | Rev | Content |
---|---|---|---|
1 | spiga | 1.1 | import imp, sys |
2 | import traceback | ||
3 | spiga | 1.2 | import common |
4 | spiga | 1.1 | from crab_exceptions import * |
5 | |||
6 | |||
7 | class ValidateCfg: | ||
8 | def __init__(self, args): | ||
9 | spiga | 1.2 | |
10 | self.pset = args.get('pset','0') | ||
11 | ewv | 1.4 | if self.pset == '0' or self.pset.upper() == 'NONE' : |
12 | msg = 'Error: No configuration file has been specified in your crab.cfg file.' | ||
13 | spiga | 1.2 | raise CrabException(msg) |
14 | |||
15 | spiga | 1.1 | def run(self): |
16 | ewv | 1.4 | |
17 | spiga | 1.1 | if self.pset.endswith('py'): |
18 | ewv | 1.4 | self.DumpPset() |
19 | else: | ||
20 | spiga | 1.1 | self.IncludePset() |
21 | |||
22 | ewv | 1.4 | return |
23 | |||
24 | spiga | 1.2 | def ImportFile( self ): |
25 | spiga | 1.1 | """ |
26 | Read in Pset object | ||
27 | """ | ||
28 | spiga | 1.5 | common.logger.info( "Importing file %s"%self.pset) |
29 | spiga | 1.1 | handle = open(self.pset, 'r') |
30 | spiga | 1.2 | |
31 | ewv | 1.4 | try: |
32 | spiga | 1.1 | cfo = imp.load_source("pycfg", self.pset, handle) |
33 | cmsProcess = cfo.process | ||
34 | except Exception, ex: | ||
35 | goodcfg = False | ||
36 | ewv | 1.4 | msg = "%s file is not valid python: %s" % \ |
37 | (self.pset,str(traceback.format_exc())) | ||
38 | msg += "\n\nPlease post on the EDM hypernews if this " + \ | ||
39 | "information doesn't help solve this problem." | ||
40 | spiga | 1.1 | raise CrabException( msg ) |
41 | handle.close() | ||
42 | ewv | 1.4 | return cmsProcess |
43 | spiga | 1.1 | |
44 | ewv | 1.4 | def DumpPset( self ): |
45 | """ | ||
46 | """ | ||
47 | spiga | 1.2 | cmsProcess = self.ImportFile() |
48 | |||
49 | spiga | 1.5 | common.logger.info( 'Starting the dump.....' ) |
50 | ewv | 1.4 | try: |
51 | spiga | 1.1 | cmsProcess.dumpPython() |
52 | ewv | 1.4 | except Exception, ex: |
53 | msg = "Python parsing failed: \n\n%s" % \ | ||
54 | str(traceback.format_exc()) | ||
55 | msg += "\n\nPlease post on the EDM hypernews if this " + \ | ||
56 | "information doesn't help solve this problem." | ||
57 | spiga | 1.1 | raise CrabException( msg ) |
58 | ewv | 1.4 | msg = "Python parsing succeeded. File is valid.\n" |
59 | spiga | 1.5 | common.logger.info( msg ) |
60 | spiga | 1.1 | |
61 | ewv | 1.4 | def IncludePset(self): |
62 | """ | ||
63 | """ | ||
64 | spiga | 1.1 | from FWCore.ParameterSet.Config import include |
65 | spiga | 1.5 | common.logger.info( 'Starting include.....' ) |
66 | spiga | 1.1 | try: |
67 | cfo = include(self.pset) | ||
68 | except Exception, ex: | ||
69 | ewv | 1.4 | msg = "Python parsing failed: \n\n%s" % \ |
70 | str(traceback.format_exc()) | ||
71 | msg += "\n\nPlease post on the EDM hypernews if this " + \ | ||
72 | "information doesn't help solve this problem." | ||
73 | spiga | 1.1 | raise CrabException(msg) |
74 | ewv | 1.4 | msg = "Python parsing succeeded. File is valid.\n" |
75 | spiga | 1.5 | common.logger.info( msg ) |
76 | spiga | 1.1 | |
77 | |||
78 | if __name__ == '__main__' : | ||
79 | |||
80 | pset = sys.argv[1] | ||
81 | ewv | 1.4 | check = ValidateCfg({'pset':pset}) |
82 | check.run() |