Skip to content

Commit 8d1e8c8

Browse files
authored
Merge pull request #131 from VallariAg/jobs-filter-improve
paddles/controllers/jobs.py: Add filters to JobsListController
2 parents 84cbf01 + e0c8503 commit 8d1e8c8

File tree

1 file changed

+20
-3
lines changed

1 file changed

+20
-3
lines changed

paddles/controllers/jobs.py

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,20 +167,37 @@ def _lookup(self, job_id, *remainder):
167167

168168
class JobsListController(object):
169169
@expose('json')
170-
def index(self, description='', status='', count=10, page=1):
170+
def index(self, description='', status='', sha1='', branch='', user='', posted_after='', posted_before='', count=10, page=1):
171171
"""
172172
List latest jobs.
173-
Filter by description and status.
173+
Filter by sha1, branch, username, posted date (range:- posted_before:posted_after), description, and status.
174174
"""
175175
job_query = Job.query.order_by(desc(Job.posted))
176176

177177
if description:
178-
job_query = job_query.filter(Job.description == description)
178+
job_query = job_query.filter(Job.description.contains(description))
179179

180180
if status:
181181
job_query = job_query.filter_by(status=status)
182182

183+
if sha1:
184+
job_query = job_query.filter_by(sha1=sha1)
185+
elif branch:
186+
job_query = job_query.filter_by(branch=branch)
187+
188+
if user:
189+
job_query = job_query.filter_by(user=user)
190+
191+
if posted_after:
192+
posted_after = paddles.controllers.runs.date_from_string(posted_after)[1]
193+
job_query = job_query.filter(Job.posted > posted_after)
194+
195+
if posted_before:
196+
posted_before = paddles.controllers.runs.date_from_string(posted_before)[1]
197+
job_query = job_query.filter(Job.posted < posted_before)
198+
183199
job_query = offset_query(job_query, page_size=count, page=page)
184200
jobs = job_query.all()
185201

186202
return jobs
203+

0 commit comments

Comments
 (0)