Revision: | 1.3 |
Committed: | Wed Mar 28 10:22:45 2007 UTC (18 years, 1 month ago) by eulisse |
Content type: | text/x-python |
Branch: | MAIN |
CVS Tags: | V00-08-00, V00-07-09, V00-07-08, V00-07-07, V00-07-06, V00-07-05, V00-07-04, V00-07-03, V00-07-02, V00-07-01, V00-07-00, gePreProdManagerSupport, V00-06-08, V00-06-07, V00-06-06, V00-06-05, V00-06-04, V00-06-03, V00-06-02, V00-06-01, V00-06-00, V00-05-15, V00-05-14, V00-05-13, V00-05-11, V00-05-10, V00-05-09, V00-05-08, V00-05-07, V00-05-06, V00-05-05, V00-05-04, V00-05-03, V00-05-02, V00-05-01, V00-05-00, HEAD |
Changes since 1.2: | +1 -1 lines |
Log Message: | * GUI modified to accept input dataset info. * Schema changed to accomodate the input_dataset & pileup at the same time. An utility script is provided to migrate from the old schema to the new one. |
# | 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 | eulisse | 1.2 | parameterset=cfg).id |
51 | eulisse | 1.1 | |
52 | entrySelect = WorkflowEntry.select (WorkflowEntry.q.payload_id==payloadID) | ||
53 | |||
54 | if entrySelect.count (): | ||
55 | print "Already in there, skipping" | ||
56 | continue | ||
57 | |||
58 | WorkflowEntry (name=cfgname, | ||
59 | workflow_id=workflowID, | ||
60 | payload_id=payloadID, | ||
61 | payloadprev_id=0, | ||
62 | payloadparent_id=0, | ||
63 | eulisse | 1.2 | status=0, |
64 | eulisse | 1.3 | primary_dataset="None", |
65 | eulisse | 1.2 | output_dataset="Modify me") |