solidprivacy-nl commited on
Commit
a42206d
路
1 Parent(s): e51dfda

Patch review workflow with v12.2 focus filters

Browse files
Files changed (1) hide show
  1. fix_streamlit_nested_expanders.py +26 -2
fix_streamlit_nested_expanders.py CHANGED
@@ -7,6 +7,7 @@ refactors are being staged.
7
  Patches currently applied:
8
  - v9: remove nested Streamlit expander usage for Woordenlijsten.
9
  - v12.1: add a user-facing review status model to the replacement table.
 
10
  """
11
 
12
  from pathlib import Path
@@ -39,12 +40,21 @@ nested_new = ''' st.markdown("**Woordenlijsten**")
39
 
40
  text = replace_once(text, nested_old, nested_new)
41
 
42
- # v12.1: import review-status helpers.
43
  text = replace_once(
44
  text,
45
  'from display_labels_nl import entity_label, source_label, confidence_label\n',
46
  'from display_labels_nl import entity_label, source_label, confidence_label\n'
 
 
 
 
 
 
 
47
  'from review_status import review_status_for_source, review_status_label, review_status_order\n',
 
 
48
  )
49
 
50
  # v12.1: add review status fields to remembered rows.
@@ -111,7 +121,7 @@ text = replace_once(
111
  ''',
112
  )
113
 
114
- # v12.1: sort review rows and show a compact status summary above the editor.
115
  text = replace_once(
116
  text,
117
  ''' replacement_editor_df = pd.DataFrame(default_editor_rows)
@@ -127,6 +137,20 @@ text = replace_once(
127
  status_parts = [f"{label}: {count}" for label, count in status_counts.items()]
128
  if status_parts:
129
  st.caption("Reviewstatus: " + " 路 ".join(status_parts))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
130
  edited_replacements_df = st.data_editor(
131
  ''',
132
  )
 
7
  Patches currently applied:
8
  - v9: remove nested Streamlit expander usage for Woordenlijsten.
9
  - v12.1: add a user-facing review status model to the replacement table.
10
+ - v12.2: add safe review-focus filters without changing export semantics.
11
  """
12
 
13
  from pathlib import Path
 
40
 
41
  text = replace_once(text, nested_old, nested_new)
42
 
43
+ # v12.1/v12.2: import review helpers.
44
  text = replace_once(
45
  text,
46
  'from display_labels_nl import entity_label, source_label, confidence_label\n',
47
  'from display_labels_nl import entity_label, source_label, confidence_label\n'
48
+ 'from review_status import review_status_for_source, review_status_label, review_status_order\n'
49
+ 'from review_filters import REVIEW_FILTER_OPTIONS, FILTER_SHOW_ALL, filter_review_dataframe\n',
50
+ )
51
+
52
+ # If v12.1 already added review_status but v12.2 is not present yet, extend imports only.
53
+ text = replace_once(
54
+ text,
55
  'from review_status import review_status_for_source, review_status_label, review_status_order\n',
56
+ 'from review_status import review_status_for_source, review_status_label, review_status_order\n'
57
+ 'from review_filters import REVIEW_FILTER_OPTIONS, FILTER_SHOW_ALL, filter_review_dataframe\n',
58
  )
59
 
60
  # v12.1: add review status fields to remembered rows.
 
121
  ''',
122
  )
123
 
124
+ # v12.1/v12.2: sort review rows, show a status summary and add focus filters.
125
  text = replace_once(
126
  text,
127
  ''' replacement_editor_df = pd.DataFrame(default_editor_rows)
 
137
  status_parts = [f"{label}: {count}" for label, count in status_counts.items()]
138
  if status_parts:
139
  st.caption("Reviewstatus: " + " 路 ".join(status_parts))
140
+ review_filter = st.selectbox(
141
+ "Focusfilter voor controle",
142
+ REVIEW_FILTER_OPTIONS,
143
+ index=REVIEW_FILTER_OPTIONS.index(FILTER_SHOW_ALL),
144
+ help="Gebruik dit als overzichtsfilter. De volledige vervangtabel hieronder blijft leidend voor de export.",
145
+ )
146
+ if review_filter != FILTER_SHOW_ALL:
147
+ focus_df = filter_review_dataframe(replacement_editor_df, review_filter)
148
+ st.caption(f"{len(focus_df)} van {len(replacement_editor_df)} rij(en) zichtbaar in dit focusoverzicht.")
149
+ st.dataframe(
150
+ focus_df[[col for col in ["review_status_label", "find", "replace_with", "type_label", "confidence", "source_label"] if col in focus_df.columns]],
151
+ use_container_width=True,
152
+ )
153
+ st.caption("Pas wijzigingen toe in de volledige vervangtabel hieronder; dit focusoverzicht is alleen bedoeld om sneller te controleren.")
154
  edited_replacements_df = st.data_editor(
155
  ''',
156
  )