catch bad milestones and reinstate refresh button

#2
by lvwerra HF staff - opened
Files changed (1) hide show
  1. app.py +32 -20
app.py CHANGED
@@ -20,29 +20,36 @@ name2num_milestones = dict()
20
  g = Github(os.environ.get('github'))
21
  df = list()
22
  all_status = list()
 
 
23
 
24
  for name, repo_name in name2repo:
25
  repo = g.get_repo(repo_name)
26
  num_milestones = 0
27
  for milestone in repo.get_milestones():
28
- num_milestones += 1
29
- desc = dict()
30
- for line in milestone.description.split('\n'):
31
- tmp = line.split(":")
32
- if len(tmp) > 1:
33
- key = tmp[0].lower()
34
- value = tmp[1].strip()
35
- if key == 'status':
36
- value = value.lower()
37
- desc[key] = value
38
- task_name = f"""<a href="https://www.github.com/{repo_name}/milestone/{milestone.number}", target="_black">{milestone.title}</a>"""
39
- if desc['status'] not in all_status:
40
- all_status.append(desc['status'])
41
- df.append(dict(Task=task_name,
42
- Start=desc['start date'],
43
- Finish=milestone.due_on.strftime('%Y-%m-%d'),
44
- Resource=desc['status'],
45
- Description=desc['leader']))
 
 
 
 
 
46
  name2num_milestones[name] = num_milestones
47
 
48
  copy_df = copy.deepcopy(df)
@@ -127,5 +134,10 @@ for name, _ in name2repo[::-1]:
127
 
128
  st.plotly_chart(fig, use_container_width=True)
129
 
130
- # if st.button("Refresh"):
131
- # st.experimental_rerun()
 
 
 
 
 
 
20
  g = Github(os.environ.get('github'))
21
  df = list()
22
  all_status = list()
23
+ bad_milestones = list()
24
+
25
 
26
  for name, repo_name in name2repo:
27
  repo = g.get_repo(repo_name)
28
  num_milestones = 0
29
  for milestone in repo.get_milestones():
30
+ try:
31
+ num_milestones += 1
32
+ desc = dict()
33
+ for line in milestone.description.split('\n'):
34
+ tmp = line.split(":")
35
+ if len(tmp) > 1:
36
+ key = tmp[0].lower()
37
+ value = tmp[1].strip()
38
+ if key == 'status':
39
+ value = value.lower()
40
+ desc[key] = value
41
+ task_name = f"""<a href="https://www.github.com/{repo_name}/milestone/{milestone.number}", target="_black">{milestone.title}</a>"""
42
+ if desc['status'] not in all_status:
43
+ all_status.append(desc['status'])
44
+ df.append(dict(Task=task_name,
45
+ Start=desc['start date'],
46
+ Finish=milestone.due_on.strftime('%Y-%m-%d'),
47
+ Resource=desc['status'],
48
+ Description=desc['leader']))
49
+ except:
50
+ num_milestones -= 1
51
+ task_name = f"""<a href="https://www.github.com/{repo_name}/milestone/{milestone.number}", target="_black">{milestone.title}</a>"""
52
+ bad_milestones.append(task_name)
53
  name2num_milestones[name] = num_milestones
54
 
55
  copy_df = copy.deepcopy(df)
 
134
 
135
  st.plotly_chart(fig, use_container_width=True)
136
 
137
+ if len(bad_ms):
138
+ with st.expander("Bad Milestones"):
139
+ for bms in bad_milestones:
140
+ st.markdown(bms + "\n\n", unsafe_allow_html=True)
141
+
142
+ if st.button("Refresh"):
143
+ st.experimental_rerun()