fix: resolve C1/I2/I3/S2 review findings

- C1: initialize url=None before conditional in _fetch_tree_children_bg
  to prevent UnboundLocalError on unexpected data types
- I2: translate System tab label via get_txt instead of hardcoded string
- I3: add status_loading_items to STRINGS (da+en) and use it in
  _fetch_list_contents_bg instead of hardcoded Danish f-string
- S2: remove unreachable SITE branch from _append_list_items

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Martin Tranberg
2026-04-12 09:41:25 +02:00
parent be7a78deb8
commit dadbb4d51a

View File

@@ -179,6 +179,7 @@ STRINGS = {
"settings_license_status": "Status: Ikke aktiveret",
"settings_logging_group": "System / Diverse",
"settings_logging": "Aktiver log-output (anbefales til fejlfinding)",
"status_loading_items": "Henter... ({count} emner)",
"settings_about_group": "Om programmet",
"settings_credits": "© 2026 SharePoint Explorer\n\nSkabt af:\nMartin Tranberg\nBlueprint\n\nBernhard Bangs Allé 23, 2.\n2000 Frederiksberg\n\nTel: 70258689"
},
@@ -275,6 +276,7 @@ STRINGS = {
"settings_license_status": "Status: Not activated",
"settings_logging_group": "System / Miscellaneous",
"settings_logging": "Enable log output (recommended for troubleshooting)",
"status_loading_items": "Loading... ({count} items)",
"settings_about_group": "About",
"settings_credits": "© 2026 SharePoint Explorer\n\nCreated by:\nMartin Tranberg\nBlueprint\n\nBernhard Bangs Allé 23, 2.\nDK-2000 Frederiksberg\n\nPhone: +45 70258689"
}
@@ -498,7 +500,7 @@ class SettingsDialog(wx.Dialog):
sys_vbox.Add(sys_inner, 1, wx.EXPAND | wx.ALL, 15)
sys_panel.SetSizer(sys_vbox)
self.nb.AddPage(sys_panel, "System")
self.nb.AddPage(sys_panel, self.get_txt("settings_logging_group").split("/")[0].strip())
# 5. ABOUT TAB
about_panel = wx.Panel(self.nb)
@@ -1771,7 +1773,8 @@ class SharePointApp(wx.Frame):
if not self.ensure_valid_token(): return
self.pulse_gauge(True)
all_children = []
url = None
if data['type'] == "SITE":
url = f"https://graph.microsoft.com/v1.0/sites/{data['id']}/drives"
elif data['type'] == "DRIVE":
@@ -1934,7 +1937,7 @@ class SharePointApp(wx.Frame):
})
items_data.extend(chunk_data)
self.set_status(f"Henter... ({len(items_data)} emner)")
self.set_status(self.get_txt("status_loading_items").format(count=len(items_data)))
self.pulse_gauge(True)
# Chunked UI Update
@@ -1954,13 +1957,12 @@ class SharePointApp(wx.Frame):
if not self: return
start_idx = len(self.current_items)
self.current_items.extend(items)
for i, item in enumerate(items):
idx = start_idx + i
img_idx = self.idx_file
if item['type'] == "FOLDER": img_idx = self.idx_folder
elif item['type'] == "DRIVE": img_idx = self.idx_drive
elif item['type'] == "SITE": img_idx = self.idx_site
elif item['type'] == "FILE":
img_idx = self.get_icon_idx_for_file(item['name'])