~qajenkinsbot/qa-dashboard/ci-production

« back to all changes in this revision

Viewing changes to util/extractor.py

  • Committer: Canonical QA Jenkins Bot
  • Date: 2013-08-09 21:58:23 UTC
  • mfrom: (20.2.20 ci)
  • Revision ID: chris.johnston@canonical.com-20130809215823-svvl5y3o9qdvtoez
[Jenkins-10]

Show diffs side-by-side

added added

removed removed

Lines of Context:
62
62
            data = get_json_from_url(self.url)
63
63
        self.data = data
64
64
 
65
 
    def _get_parameters(self, data):
66
 
        parameters = list()
67
 
        for p in data:
68
 
            content = {'name': p['name'],
69
 
                       'description': p.get('description', None)}
70
 
            if 'defaultParameterValue' in p:
71
 
                content['value'] = p['defaultParameterValue']['value']
72
 
            elif 'value' in p:
73
 
                content['value'] = p['value']
74
 
            parameter = Parameter(**content)
75
 
            parameters.append(parameter)
76
 
        return parameters
77
 
 
78
65
    def refresh(self):
79
66
        self.data = get_json_from_url(self.url)
80
67
 
92
79
        super(JenkinsJob, self).__init__(url, data)
93
80
        self.builds = self._get_builds()
94
81
        self.downstream_jobs = self._get_downstream_jobs()
95
 
        self.parameters = self._get_parameters()
96
82
 
97
83
    def __str__(self):
98
84
        return "<JenkinsJob: %s>" % (self.data)
111
97
            downstream_jobs.append(job)
112
98
        return downstream_jobs
113
99
 
114
 
    def _get_parameters(self):
115
 
        parameters = []
116
 
        try:
117
 
            parameters = super(JenkinsJob, self)._get_parameters(
118
 
                self.data['actions'][0]['parameterDefinitions'])
119
 
        except (KeyError, IndexError) as e:
120
 
            logger.error('Failed parameter parsing: {}'.format(e))
121
 
        return parameters
122
 
 
123
100
    def _get_build_number(self, build):
124
101
        # A build will be None when the last*Build has not occurred yet
125
102
        if build is None:
130
107
        super(JenkinsJob, self).refresh()
131
108
        self.builds = self._get_builds()
132
109
        self.downstream_jobs = self._get_downstream_jobs()
133
 
        self.parameters = self._get_parameters()
134
110
 
135
111
    @property
136
112
    def buildable(self):
173
149
        super(JenkinsBuild, self).__init__(url, data)
174
150
        self.duration = self._get_duration()
175
151
        self.flavor = self._get_flavor()
176
 
        self.parameters = self._get_parameters()
177
152
        self.runs = self._get_runs()
178
153
        self.series = self._get_series()
179
154
        self.timestamp = self._get_timestamp()
216
191
                return series
217
192
        return None
218
193
 
219
 
    def _get_parameters(self):
220
 
        parameters = []
221
 
        try:
222
 
            parameters = super(JenkinsBuild, self)._get_parameters(
223
 
                self.data['actions'][0]['parameters'])
224
 
        except (KeyError, IndexError) as e:
225
 
            logger.error('Failed parameter parsing: {}'.format(e))
226
 
            logger.error(e)
227
 
        return parameters
228
 
 
229
194
    def refresh(self):
230
195
        super(JenkinsBuild, self).refresh()
231
196
        self.duration = self._get_duration()
232
197
        self.flavors = self._get_flavors()
233
 
        self.parameters = self._get_parameters()
234
198
        self.runs = self._get_runs()
235
199
        self.series = self._get_series()
236
200
        self.timestamp = self._get_timestamp()