Skip to content

Commit 5ad4dba

Browse files
committed
controllers/runs.py: Add FlavorsController
Enable filter by flavor to /runs endpoint Example: /runs/flavors/default Signed-off-by: Vallari Agrawal <val.agl002@gmail.com>
1 parent c50acf6 commit 5ad4dba

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

paddles/controllers/runs.py

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,14 @@ def get_lookup_controller(self):
134134
return MachineTypeController
135135

136136

137+
class FlavorsController(RunFilterIndexController):
138+
def get_subquery(self, query):
139+
return query.values(Job.flavor)
140+
141+
def get_lookup_controller(self):
142+
return FlavorController
143+
144+
137145
class SuitesController(RunFilterIndexController):
138146
def get_subquery(self, query):
139147
return query.values(Run.suite)
@@ -196,6 +204,8 @@ def get_lookup_controller(self, field):
196204
return SuitesController()
197205
if field == 'user':
198206
return UsersController()
207+
if field == 'flavor':
208+
return FlavorsController()
199209

200210

201211
class DateController(RunFilterController):
@@ -224,6 +234,8 @@ def get_lookup_controller(self, field):
224234
return SuitesController()
225235
if field == 'user':
226236
return UsersController()
237+
if field == 'flavor':
238+
return FlavorsController()
227239

228240

229241
class MachineTypeController(RunFilterController):
@@ -243,6 +255,8 @@ def get_lookup_controller(self, field):
243255
return SuitesController()
244256
if field == 'user':
245257
return UsersController()
258+
if field == 'flavor':
259+
return FlavorsController()
246260

247261

248262
class StatusController(RunFilterController):
@@ -262,6 +276,8 @@ def get_lookup_controller(self, field):
262276
return SuitesController()
263277
if field == 'user':
264278
return UsersController()
279+
if field == 'flavor':
280+
return FlavorsController()
265281

266282

267283
class SuiteController(RunFilterController):
@@ -281,6 +297,8 @@ def get_lookup_controller(self, field):
281297
return StatusesController()
282298
if field == 'user':
283299
return UsersController()
300+
if field == 'flavor':
301+
return FlavorsController()
284302

285303

286304
class UserController(RunFilterController):
@@ -300,6 +318,29 @@ def get_lookup_controller(self, field):
300318
return StatusesController()
301319
if field == 'suite':
302320
return SuitesController()
321+
if field == 'flavor':
322+
return FlavorsController()
323+
324+
325+
class FlavorController(RunFilterController):
326+
def get_subquery(self, query):
327+
return query.join(Job).filter(Job.flavor == self.value).group_by(Run)
328+
329+
def get_lookup_controller(self, field):
330+
if field == 'branch':
331+
return BranchesController()
332+
if field == 'date':
333+
return DatesController()
334+
if field == 'machine_type':
335+
return MachineTypesController()
336+
if field == 'sha1':
337+
return Sha1sController()
338+
if field == 'status':
339+
return StatusesController()
340+
if field == 'suite':
341+
return SuitesController()
342+
if field == 'user':
343+
return UsersController()
303344

304345

305346
class DateRangeController(object):
@@ -354,6 +395,8 @@ def get_lookup_controller(self, field):
354395
return SuitesController()
355396
if field == 'user':
356397
return UsersController()
398+
if field == 'flavor':
399+
return FlavorsController()
357400

358401

359402

@@ -401,6 +444,8 @@ def _create_run(cls, name):
401444

402445
user = UsersController()
403446

447+
flavors = FlavorsController()
448+
404449
@expose('json')
405450
def _lookup(self, name, *remainder):
406451
return RunController(name), remainder

0 commit comments

Comments
 (0)