mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-24 16:24:08 -04:00
notify-api-412 use black to enforce python coding style
This commit is contained in:
@@ -3,52 +3,58 @@ from app.notify_client import NotifyAdminAPIClient, _attach_current_user, cache
|
||||
|
||||
|
||||
class JobApiClient(NotifyAdminAPIClient):
|
||||
|
||||
JOB_STATUSES = {
|
||||
'scheduled',
|
||||
'pending',
|
||||
'in progress',
|
||||
'finished',
|
||||
'cancelled',
|
||||
'sending limits exceeded',
|
||||
'ready to send',
|
||||
'sent to dvla'
|
||||
"scheduled",
|
||||
"pending",
|
||||
"in progress",
|
||||
"finished",
|
||||
"cancelled",
|
||||
"sending limits exceeded",
|
||||
"ready to send",
|
||||
"sent to dvla",
|
||||
}
|
||||
SCHEDULED_JOB_STATUS = 'scheduled'
|
||||
CANCELLED_JOB_STATUS = 'cancelled'
|
||||
SCHEDULED_JOB_STATUS = "scheduled"
|
||||
CANCELLED_JOB_STATUS = "cancelled"
|
||||
NON_CANCELLED_JOB_STATUSES = JOB_STATUSES - {CANCELLED_JOB_STATUS}
|
||||
NON_SCHEDULED_JOB_STATUSES = JOB_STATUSES - {SCHEDULED_JOB_STATUS, CANCELLED_JOB_STATUS}
|
||||
NON_SCHEDULED_JOB_STATUSES = JOB_STATUSES - {
|
||||
SCHEDULED_JOB_STATUS,
|
||||
CANCELLED_JOB_STATUS,
|
||||
}
|
||||
|
||||
def get_job(self, service_id, job_id):
|
||||
params = {}
|
||||
job = self.get(url='/service/{}/job/{}'.format(service_id, job_id), params=params)
|
||||
job = self.get(
|
||||
url="/service/{}/job/{}".format(service_id, job_id), params=params
|
||||
)
|
||||
|
||||
return job
|
||||
|
||||
def get_jobs(self, service_id, *, limit_days=None, statuses=None, page=1):
|
||||
params = {'page': page}
|
||||
params = {"page": page}
|
||||
if limit_days is not None:
|
||||
params['limit_days'] = limit_days
|
||||
params["limit_days"] = limit_days
|
||||
if statuses is not None:
|
||||
params['statuses'] = ','.join(statuses)
|
||||
params["statuses"] = ",".join(statuses)
|
||||
|
||||
return self.get(url='/service/{}/job'.format(service_id), params=params)
|
||||
return self.get(url="/service/{}/job".format(service_id), params=params)
|
||||
|
||||
def get_uploads(self, service_id, limit_days=None, page=1):
|
||||
params = {'page': page}
|
||||
params = {"page": page}
|
||||
if limit_days is not None:
|
||||
params['limit_days'] = limit_days
|
||||
return self.get(url='/service/{}/upload'.format(service_id), params=params)
|
||||
params["limit_days"] = limit_days
|
||||
return self.get(url="/service/{}/upload".format(service_id), params=params)
|
||||
|
||||
def has_sent_previously(self, service_id, template_id, template_version, original_file_name):
|
||||
return (
|
||||
template_id, template_version, original_file_name
|
||||
) in (
|
||||
def has_sent_previously(
|
||||
self, service_id, template_id, template_version, original_file_name
|
||||
):
|
||||
return (template_id, template_version, original_file_name) in (
|
||||
(
|
||||
job['template'], job['template_version'], job['original_file_name'],
|
||||
job["template"],
|
||||
job["template_version"],
|
||||
job["original_file_name"],
|
||||
)
|
||||
for job in self.get_jobs(service_id, limit_days=0)['data']
|
||||
if job['job_status'] != 'cancelled'
|
||||
for job in self.get_jobs(service_id, limit_days=0)["data"]
|
||||
if job["job_status"] != "cancelled"
|
||||
)
|
||||
|
||||
def get_page_of_jobs(self, service_id, *, page, statuses=None, limit_days=None):
|
||||
@@ -64,49 +70,43 @@ class JobApiClient(NotifyAdminAPIClient):
|
||||
service_id,
|
||||
limit_days=7,
|
||||
statuses=self.NON_SCHEDULED_JOB_STATUSES,
|
||||
)['data']
|
||||
)["data"]
|
||||
|
||||
def get_scheduled_jobs(self, service_id):
|
||||
return sorted(
|
||||
self.get_jobs(
|
||||
service_id,
|
||||
statuses=[self.SCHEDULED_JOB_STATUS]
|
||||
)['data'],
|
||||
key=lambda job: job['scheduled_for'],
|
||||
self.get_jobs(service_id, statuses=[self.SCHEDULED_JOB_STATUS])["data"],
|
||||
key=lambda job: job["scheduled_for"],
|
||||
reverse=True,
|
||||
)
|
||||
|
||||
def get_scheduled_job_stats(self, service_id):
|
||||
return self.get(
|
||||
url=f'/service/{service_id}/job/scheduled-job-stats'
|
||||
)
|
||||
return self.get(url=f"/service/{service_id}/job/scheduled-job-stats")
|
||||
|
||||
@cache.set('has_jobs-{service_id}')
|
||||
@cache.set("has_jobs-{service_id}")
|
||||
def has_jobs(self, service_id):
|
||||
return bool(self.get_jobs(service_id)['data'])
|
||||
return bool(self.get_jobs(service_id)["data"])
|
||||
|
||||
def create_job(self, job_id, service_id, scheduled_for=None):
|
||||
data = {"id": job_id}
|
||||
|
||||
if scheduled_for:
|
||||
data.update({'scheduled_for': scheduled_for})
|
||||
data.update({"scheduled_for": scheduled_for})
|
||||
|
||||
data = _attach_current_user(data)
|
||||
job = self.post(url='/service/{}/job'.format(service_id), data=data)
|
||||
job = self.post(url="/service/{}/job".format(service_id), data=data)
|
||||
|
||||
redis_client.set(
|
||||
'has_jobs-{}'.format(service_id),
|
||||
b'true',
|
||||
"has_jobs-{}".format(service_id),
|
||||
b"true",
|
||||
ex=int(cache.DEFAULT_TTL),
|
||||
)
|
||||
|
||||
return job
|
||||
|
||||
@cache.delete('has_jobs-{service_id}')
|
||||
@cache.delete("has_jobs-{service_id}")
|
||||
def cancel_job(self, service_id, job_id):
|
||||
return self.post(
|
||||
url='/service/{}/job/{}/cancel'.format(service_id, job_id),
|
||||
data={}
|
||||
url="/service/{}/job/{}/cancel".format(service_id, job_id), data={}
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user