CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
o2oSetup.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 
3 '''
4 '''
5 
6 __author__ = 'Giacomo Govi'
7 
8 import CondCore.Utilities.o2o as o2olib
9 import sys
10 import optparse
11 import argparse
12 
13 def main( argv ):
14 
15  parser = argparse.ArgumentParser()
16  parser.add_argument("-c","--create", type=str, help="create a new O2O job" )
17  parser.add_argument("-1","--enable", type=str, help="enable the O2O job" )
18  parser.add_argument("-0","--disable", type=str, help="disable the O2O job" )
19 
20  parser.add_argument("-t","--tag", type=str, help="the CondDB Tag name")
21  parser.add_argument("-i","--interval", type=str, help="the chron job interval")
22  parser.add_argument("-d","--dev", action="store_true", help="bookkeeping in dev database")
23  parser.add_argument("-a","--auth", type=str, help="path of the authentication file")
24  args = parser.parse_args()
25 
26  if not args.create and not args.enable and not args.disable:
27  parser.error("Command not given. Possible choices: create, enable, disable")
28 
29  db_service = o2olib.prod_db_service
30  if args.dev:
31  db_service = o2olib.dev_db_service
32  mgr = o2olib.O2OJobMgr()
33  ret = -1
34  if mgr.connect( db_service, args.auth ):
35  if args.create:
36  if not args.tag:
37  parser.error("Option 'tag' not provided.")
38  if not args.interval:
39  parser.error("Option 'interval' not provided.")
40  print 'creating...'
41  created = mgr.add( args.create, args.tag, args.interval, True )
42  return created
43  if args.enable:
44  mgr.set( args.enable, True )
45  if args.disable:
46  mgr.set( args.disable, False )
47  ret = 0
48  return ret
49 
50 if __name__ == '__main__':
51 
52  sys.exit(main(sys.argv))
def main
Definition: o2oSetup.py:13
Definition: main.py:1