Move check_messages in admin over to using get notification stats for

day.
This commit is contained in:
Adam Shimali
2016-06-17 11:54:01 +01:00
parent 721b80ffd8
commit f030d1cb8a
5 changed files with 116 additions and 13 deletions

View File

@@ -1,5 +1,6 @@
import json
import itertools
from datetime import datetime
from string import ascii_uppercase
from contextlib import suppress
@@ -205,12 +206,16 @@ def send_from_api(service_id, template_id):
@login_required
@user_has_permissions('send_texts', 'send_emails', 'send_letters')
def check_messages(service_id, template_type, upload_id):
if not session.get('upload_data'):
return redirect(url_for('main.choose_template', service_id=service_id, template_type=template_type))
users = user_api_client.get_users_for_service(service_id=service_id)
statistics = statistics_api_client.get_statistics_for_service(service_id, limit_days=1)['data']
statistics = statistics[0] if statistics else {}
today = datetime.today().date().strftime('%Y-%m-%d')
statistics = statistics_api_client.get_statistics_for_service_for_day(service_id, today)
if not statistics:
statistics = {}
contents = s3download(service_id, upload_id)
if not contents:

View File

@@ -1,4 +1,5 @@
from notifications_python_client.base import BaseAPIClient
from notifications_python_client.errors import HTTPError
class StatisticsApiClient(BaseAPIClient):
@@ -21,6 +22,16 @@ class StatisticsApiClient(BaseAPIClient):
params=params
)
def get_statistics_for_service_for_day(self, service_id, day):
url = '/service/{}/notifications-statistics/day/{}'.format(service_id, day)
try:
return self.get(url=url)['data']
except HTTPError as e:
if e.status_code == 404:
return None
else:
raise e
def get_7_day_aggregate_for_service(self, service_id, date_from=None, week_count=None):
params = {}
if date_from is not None: