~ubuntu-branches/ubuntu/vivid/sahara/vivid-proposed

« back to all changes in this revision

Viewing changes to sahara/service/edp/oozie/workflow_creator/pig_workflow.py

  • Committer: Package Import Robot
  • Author(s): Thomas Goirand
  • Date: 2014-09-24 16:34:46 UTC
  • Revision ID: package-import@ubuntu.com-20140924163446-8gu3zscu5e3n9lr2
Tags: upstream-2014.2~b3
ImportĀ upstreamĀ versionĀ 2014.2~b3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Copyright (c) 2013 Mirantis Inc.
 
2
#
 
3
# Licensed under the Apache License, Version 2.0 (the "License");
 
4
# you may not use this file except in compliance with the License.
 
5
# You may obtain a copy of the License at
 
6
#
 
7
#    http://www.apache.org/licenses/LICENSE-2.0
 
8
#
 
9
# Unless required by applicable law or agreed to in writing, software
 
10
# distributed under the License is distributed on an "AS IS" BASIS,
 
11
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 
12
# implied.
 
13
# See the License for the specific language governing permissions and
 
14
# limitations under the License.
 
15
 
 
16
from sahara.service.edp.oozie.workflow_creator import base_workflow
 
17
from sahara.utils import xmlutils as x
 
18
 
 
19
 
 
20
class PigWorkflowCreator(base_workflow.OozieWorkflowCreator):
 
21
 
 
22
    def __init__(self):
 
23
        super(PigWorkflowCreator, self).__init__('pig')
 
24
 
 
25
    def build_workflow_xml(self, script_name, prepare={},
 
26
                           job_xml=None, configuration=None, params={},
 
27
                           arguments=[], files=[], archives=[]):
 
28
 
 
29
        for k in sorted(prepare):
 
30
            self._add_to_prepare_element(k, prepare[k])
 
31
 
 
32
        self._add_job_xml_element(job_xml)
 
33
        self._add_configuration_elements(configuration)
 
34
 
 
35
        x.add_text_element_to_tag(self.doc, self.tag_name,
 
36
                                  'script', script_name)
 
37
 
 
38
        x.add_equal_separated_dict(self.doc, self.tag_name, 'param', params)
 
39
 
 
40
        for arg in arguments:
 
41
            x.add_text_element_to_tag(self.doc, self.tag_name, 'argument', arg)
 
42
 
 
43
        self._add_files_and_archives(files, archives)