From 13e660a8972ef0b1d0a6afbf53112e0e259f899f Mon Sep 17 00:00:00 2001 From: Marco Malavolti <marco.malavolti@gmail.com> Date: Sat, 4 Jul 2020 13:38:47 +0200 Subject: [PATCH] Fixed no data available for a day --- api.py | 49 ++++++++++++++++++++++++++++--------------------- web/index.php | 2 +- web/script.js | 6 +++++- 3 files changed, 34 insertions(+), 23 deletions(-) diff --git a/api.py b/api.py index ef28b91..c894b63 100755 --- a/api.py +++ b/api.py @@ -27,6 +27,20 @@ def buildEmailAddress(listContacts): return hrefList +def existsInFile(file_path, value, research_item): + with open(file_path,"r",encoding="utf-8") as fo: + lines = fo.readlines() + for line in lines: + aux = json.loads(line) + if (research_item == "entityID"): + if (value == aux['entityID']): + return True + if (research_item == "registrationAuthority"): + if (value == aux['registrationAuthority']): + return True + return False + + ### Classes # Test @@ -55,34 +69,27 @@ class EccsResults(Resource): if 'status' in request.args: status = request.args['status'].upper() if (status not in ['OK','DISABLED','ERROR']): - return "Incorrect status format, should be 'ok','disabled','error'" + return '{ "error": "Incorrect status provided. It can be \'ok\',\'disabled\',\'error\'" }' if 'idp' in request.args: idp = request.args['idp'] - with open(file_path,"r",encoding="utf-8") as fo: - lines = fo.readlines() - found = False - for line in lines: - aux = json.loads(line) - if (idp == aux['entityID']): - found = True - if (found == False): - return "Identity Provider not found with the entityID: %s" % idp + if (not existsInFile(file_path, idp, "entityID")): + return "Identity Provider not found with the entityID: %s" % idp if 'reg_auth' in request.args: reg_auth = request.args['reg_auth'] - with open(file_path,"r",encoding="utf-8") as fo: - lines = fo.readlines() - found = False - for line in lines: - aux = json.loads(line) - if (reg_auth == aux['registrationAuthority']): - found = True - if (found == False): - return "Identity Providers not found with the Registration Authority: %s" % reg_auth + if (not existsInFile(file_path, reg_auth, "registrationAuthority")): + return "Identity Providers not found with the Registration Authority: %s" % reg_auth lines = [] results = [] - with open(file_path,"r",encoding="utf-8") as fo: - lines = fo.readlines() + try: + with open(file_path,"r",encoding="utf-8") as fo: + lines = fo.readlines() + + except FileNotFoundError as e: + if (eccsDataTable): + return '' + else: + return "FileNotFound: ECCS2 script has not been executed for this day" for line in lines: # Strip the line feed and carriage return characters diff --git a/web/index.php b/web/index.php index 4676706..0f7ef5d 100644 --- a/web/index.php +++ b/web/index.php @@ -2,7 +2,7 @@ <html> <head> - <script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script> + <script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.js" crossorigin="anonymous"></script> <script type="text/javascript" src="https://cdn.datatables.net/1.10.21/js/jquery.dataTables.min.js"></script> <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.21/css/jquery.dataTables.min.css"/> diff --git a/web/script.js b/web/script.js index a71266e..878a3d2 100644 --- a/web/script.js +++ b/web/script.js @@ -1,9 +1,12 @@ // Global URL -var url = "/eccs2/api/eccsresults?eccdt=1"; +var url = "/eccs2/api/eccsresults?eccsdt=1"; var table; // use URL constructor and return hostname function getHostname(url) { + if (url == ""){ + return null + } const urlNew = new URL(url); if (urlNew.hostname){ return urlNew.hostname; @@ -53,6 +56,7 @@ function format ( d ) { '<td><a href="'+d.sp2.wayflessUrl+'" target="_blank">Click to retry</a></td>'+ '</tr>'+ '</table>'; + } } function getPastResults() { -- GitLab