Skip to content

Commit fd7830a

Browse files
committed
Color fixes
1 parent cd444cc commit fd7830a

1 file changed

Lines changed: 39 additions & 19 deletions

File tree

‎SubmissionReportDashboard.py‎

Lines changed: 39 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,18 @@
4545
# #
4646
#######################################
4747
def apiQuery(tier, query, variables, queryprint = False):
48-
if tier == 'DEV2':
48+
if tier == 'DEV':
49+
url = 'https://hub-dev.datacommons.cancer.gov/api/graphql'
50+
token = os.environ['DEVAPI']
51+
elif tier == 'DEV2':
4952
url = 'https://hub-dev2.datacommons.cancer.gov/api/graphql'
5053
token = os.environ['DEV2API']
54+
elif tier == 'QA':
55+
url = 'https://hub-qa.datacommons.cancer.gov/api/graphql'
56+
token = os.environ['QAAPI']
57+
elif tier == 'QA2':
58+
url = 'https://hub-qa2.datacommons.cancer.gov/api/graphql'
59+
token = os.environ['QA2API']
5160
elif tier == 'STAGE':
5261
url = 'https://hub-stage.datacommons.cancer.gov/api/graphql'
5362
token = os.environ['STAGEAPI']
@@ -93,13 +102,17 @@ def elapsedTime(submission_df):
93102

94103

95104
def bracketParse(parsethis):
96-
first = parsethis.split("]")
97-
errorstring = first[1]
98-
if "[" in errorstring:
99-
second = errorstring.split("[")
100-
return second[0]
105+
if ']' in parsethis:
106+
first = parsethis.split("]")
107+
print(f"Parsethis: {parsethis}\nFirst:{first}\n")
108+
errorstring = first[1]
109+
if "[" in errorstring:
110+
second = errorstring.split("[")
111+
return second[0]
112+
else:
113+
return errorstring
101114
else:
102-
return errorstring
115+
return parsethis
103116

104117

105118
def updateAggregation(df):
@@ -216,7 +229,7 @@ def buildBasicTable(df):
216229
html.Hr(),
217230
dcc.Dropdown(
218231
id = 'tierselector',
219-
options = ['DEV2','STAGE', 'PROD'],
232+
options = ['DEV','DEV2','QA','QA2','STAGE', 'PROD'],
220233
multi = False,
221234
style={'backgroundcolor':'1E1E1E'},
222235
),
@@ -810,13 +823,16 @@ def populateDataTable(dataselector, submissionstore, subselector, tierselector):
810823
idlist = sub_df.query("name == @subselector")['_id'].tolist()
811824
queryvars = {'_id':idlist[0], 'nodeType':dataselector, 'status':'All', 'first':-1, 'offset':0, 'orderBy':'studyID', 'sortDirection':'desc'}
812825
data_res = apiQuery(tierselector, dhq.submission_nodes_query, queryvars)
813-
if data_res['data']['getSubmissionNodes']['total'] == 0:
814-
return dash_table.DataTable()
826+
if 'data' in data_res:
827+
if data_res['data']['getSubmissionNodes']['total'] == 0:
828+
return dash_table.DataTable()
829+
else:
830+
data_df = pd.DataFrame(columns=data_res['data']['getSubmissionNodes']['properties'])
831+
for entry in data_res['data']['getSubmissionNodes']['nodes']:
832+
data_df.loc[len(data_df)] = json.loads(entry['props'])
833+
return buildBasicTable(data_df)
815834
else:
816-
data_df = pd.DataFrame(columns=data_res['data']['getSubmissionNodes']['properties'])
817-
for entry in data_res['data']['getSubmissionNodes']['nodes']:
818-
data_df.loc[len(data_df)] = json.loads(entry['props'])
819-
return buildBasicTable(data_df)
835+
return dash_table.DataTable()
820836

821837

822838

@@ -955,6 +971,7 @@ def validationWarningSummaryTable(subselector, submissionstore, tierselector):
955971
def validationErrorPieChart(subselector, submissionstore, tierselector):
956972
sub_df = pd.read_json(io.StringIO(submissionstore),orient='split')
957973
idlist = sub_df.query("name == @subselector")["_id"].tolist()
974+
#colors = {'new':'blue', 'error': 'red', 'warning':'yellow', 'passed':'green'}
958975
if len(idlist)>=1:
959976
valvars = {"submissionID":idlist[0], "severity":"Error", "first":-1, "offset":0, "sortDirection": "desc", "orderBy": "displayID"}
960977
val_res = apiQuery(tierselector, dhq.summaryQuery, valvars)
@@ -977,6 +994,7 @@ def validationErrorPieChart(subselector, submissionstore, tierselector):
977994
def validationWarningPieChart(subselector, submissionstore, tierselector):
978995
sub_df = pd.read_json(io.StringIO(submissionstore),orient='split')
979996
idlist = sub_df.query("name == @subselector")["_id"].tolist()
997+
#colors = {'new':'blue', 'error': 'red', 'warning':'yellow', 'passed':'green'}
980998
if len(idlist)>=1:
981999
valvars = {"submissionID":idlist[0], "severity":"Warning", "first":-1, "offset":0, "sortDirection": "desc", "orderBy": "displayID"}
9821000
val_res = apiQuery(tierselector, dhq.summaryQuery, valvars)
@@ -999,14 +1017,15 @@ def validationWarningPieChart(subselector, submissionstore, tierselector):
9991017
def subStatusChart(subselector, submissionstore, tierselector):
10001018
sub_df = pd.read_json(io.StringIO(submissionstore),orient='split')
10011019
idlist = sub_df.query("name == @subselector")["_id"].tolist()
1020+
colors = {'new':'blue', 'error': 'red', 'warning':'yellow', 'passed':'green'}
10021021
if len(idlist) >= 1:
10031022
qvars = {'id': idlist[0]}
10041023
query_res = apiQuery(tierselector, dhq.submission_stats_query, qvars)
10051024
columns = ['nodeName', 'total', 'new', 'error', 'warning', 'passed']
10061025
substats_df = pd.DataFrame(columns=columns)
10071026
for entry in query_res['data']['submissionStats']['stats']:
10081027
substats_df.loc[len(substats_df)] = entry
1009-
return px.bar(substats_df, x='nodeName', y=['new', 'error', 'warning', 'passed'])
1028+
return px.bar(substats_df, x='nodeName', y=['new', 'error', 'warning', 'passed'], color_discrete_map=colors)
10101029
else:
10111030
return px.bar()
10121031

@@ -1021,6 +1040,7 @@ def subStatusChart(subselector, submissionstore, tierselector):
10211040
def subStatusPercentageChart(subselector, submissionstore, tierselector):
10221041
sub_df = pd.read_json(io.StringIO(submissionstore),orient='split')
10231042
idlist = sub_df.query("name == @subselector")["_id"].tolist()
1043+
colors = {'new':'blue', 'error': 'red', 'warning':'yellow', 'passed':'green'}
10241044
if len(idlist) >=1:
10251045
qvars = {'id':idlist[0]}
10261046
query_res = apiQuery(tierselector, dhq.submission_stats_query, qvars)
@@ -1030,19 +1050,19 @@ def subStatusPercentageChart(subselector, submissionstore, tierselector):
10301050
substats_df.loc[len(substats_df)] = entry
10311051
#Add percentages to df
10321052
calccolumns = columns = ['new', 'error', 'warning', 'passed']
1033-
newcol = ['nodeName', 'new_percentage', 'error_percentage', 'warning_percentage', 'passed_percentage']
1053+
newcol = ['nodeName', 'new', 'error', 'warning', 'passed']
10341054
per_df = pd.DataFrame(columns=newcol)
10351055
for index, row in substats_df.iterrows():
10361056
newrow = {}
10371057
newrow['nodeName'] = row['nodeName']
10381058
for column in calccolumns:
10391059
if row['total'] > 0:
1040-
newrow[column+'_percentage'] = (row[column]/row['total'])*100
1060+
newrow[column] = (row[column]/row['total'])*100
10411061
else:
1042-
newrow[column+'_percentage'] = 0
1062+
newrow[column] = 0
10431063
per_df.loc[len(per_df)] = newrow
10441064

1045-
return px.bar(per_df, x='nodeName', y=['new_percentage', 'error_percentage', 'warning_percentage', 'passed_percentage'])
1065+
return px.bar(per_df, x='nodeName', y=['new', 'error', 'warning', 'passed'], color_discrete_map=colors)
10461066
else:
10471067
return px.bar()
10481068

0 commit comments

Comments
 (0)