ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/PRODREQUEST/injectCFGFile.py
Revision: 1.1
Committed: Mon Nov 13 10:20:25 2006 UTC (18 years, 5 months ago) by eulisse
Content type: text/x-python
Branch: MAIN
CVS Tags: V00-00-04, V00-00-03, V00-00-02, V00_00_02, V00-00-01
Log Message:
First added to repository.

File Contents

# User Rev Content
1 eulisse 1.1 #!/usr/bin/env python
2    
3     from getopt import getopt
4     from sys import argv
5     from os.path import exists
6     from sqlobject import *
7     conn = SQLiteConnection("prodrequest.db")
8     from Models import Payload, Workflow, WorkflowEntry
9     Payload._connection = conn
10     Workflow._connection = conn
11     WorkflowEntry._connection = conn
12    
13     print argv
14     optlist, args = getopt (argv[1:], "w", ["workflow-name=","tag="])
15    
16     options={}
17     print optlist
18    
19     for key, value in optlist:
20     options[key] = value
21    
22     if not options.has_key ("--workflow-name"):
23     print "Please specify the workflow name."
24     exit
25    
26     if not options.has_key ("--tag"):
27     print "Please specify the tag to be used for this import"
28     exit
29    
30     workflowName=options["--workflow-name"]
31     tag=options["--tag"]
32     workflowSelect = Workflow.select (Workflow.q.name==workflowName)
33     if not workflowSelect.count ():
34     workflowID = Workflow (name=workflowName).id
35     else:
36     workflowID = workflowSelect[0].id
37    
38     for cfgfile in args:
39     if not exists (cfgfile):
40     print cfgfile + " not found."
41     pass
42    
43     cfg = file (cfgfile).read ()
44     cfgname = cfgfile.rsplit ("/", 1)[1] + " - " + tag
45     payloadSelect = Payload.select (Payload.q.name==cfgname)
46     if payloadSelect.count ():
47     payloadID = payloadSelect[0].id
48     else:
49     payloadID = Payload (name=cfgname,
50     parameterset=cfg,
51     input_dataset="input dataset",
52     output_dataset="output_dataset").id
53    
54     entrySelect = WorkflowEntry.select (WorkflowEntry.q.payload_id==payloadID)
55    
56     if entrySelect.count ():
57     print "Already in there, skipping"
58     continue
59    
60     WorkflowEntry (name=cfgname,
61     workflow_id=workflowID,
62     payload_id=payloadID,
63     payloadprev_id=0,
64     payloadparent_id=0,
65     status=0)