remove redundant back button
This commit is contained in:
parent
b4b64dffce
commit
542411cc0b
3 changed files with 19 additions and 18 deletions
|
|
@ -201,7 +201,7 @@ class BackupPane(Container):
|
||||||
|
|
||||||
modal.write(f"[bold green]Server Profile backed up to: {self.exporter.export_path}[/bold green]")
|
modal.write(f"[bold green]Server Profile backed up to: {self.exporter.export_path}[/bold green]")
|
||||||
modal.write(f"- {len(roles)} roles, {e_count} emojis, {s_count} stickers.")
|
modal.write(f"- {len(roles)} roles, {e_count} emojis, {s_count} stickers.")
|
||||||
modal.phase_report("Profile Backup")
|
modal.phase_report("Profile Backup", show_back=False)
|
||||||
|
|
||||||
except self.engine.discord_reader.Forbidden as e:
|
except self.engine.discord_reader.Forbidden as e:
|
||||||
modal.write(f"[bold red]Backup failed: {e}[/bold red]")
|
modal.write(f"[bold red]Backup failed: {e}[/bold red]")
|
||||||
|
|
@ -378,7 +378,7 @@ class BackupPane(Container):
|
||||||
|
|
||||||
if not self.exporter.is_running:
|
if not self.exporter.is_running:
|
||||||
modal_prog.set_item_status("[bold red]Backup Cancelled.[/bold red]")
|
modal_prog.set_item_status("[bold red]Backup Cancelled.[/bold red]")
|
||||||
modal_prog.phase_report("Message Backup", "stopped")
|
modal_prog.phase_report("Message Backup", "stopped", show_back=False)
|
||||||
return
|
return
|
||||||
|
|
||||||
modal_prog.set_progress(total_chans, total_chans)
|
modal_prog.set_progress(total_chans, total_chans)
|
||||||
|
|
@ -387,12 +387,12 @@ class BackupPane(Container):
|
||||||
await self.exporter.export_metadata()
|
await self.exporter.export_metadata()
|
||||||
modal_prog.write("[bold green]Message backup complete![/bold green]")
|
modal_prog.write("[bold green]Message backup complete![/bold green]")
|
||||||
logger.info("Message backup operation completed successfully.")
|
logger.info("Message backup operation completed successfully.")
|
||||||
modal_prog.phase_report("Message Backup")
|
modal_prog.phase_report("Message Backup", show_back=False)
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"Message backup failed: {e}\n{traceback.format_exc()}")
|
logger.error(f"Message backup failed: {e}\n{traceback.format_exc()}")
|
||||||
modal_prog.write(f"[bold red]Message backup failed: {e}[/bold red]")
|
modal_prog.write(f"[bold red]Message backup failed: {e}[/bold red]")
|
||||||
modal_prog.phase_report("Message Backup", "error")
|
modal_prog.phase_report("Message Backup", "error", show_back=False)
|
||||||
finally:
|
finally:
|
||||||
await self.engine.close_connections()
|
await self.engine.close_connections()
|
||||||
|
|
||||||
|
|
@ -501,7 +501,7 @@ class BackupPane(Container):
|
||||||
|
|
||||||
if not self.exporter.is_running:
|
if not self.exporter.is_running:
|
||||||
modal_prog.set_item_status("[bold red]Sync Cancelled.[/bold red]")
|
modal_prog.set_item_status("[bold red]Sync Cancelled.[/bold red]")
|
||||||
modal_prog.phase_report("Backup Sync", "stopped")
|
modal_prog.phase_report("Backup Sync", "stopped", show_back=False)
|
||||||
return
|
return
|
||||||
|
|
||||||
modal_prog.set_progress(total_chans, total_chans)
|
modal_prog.set_progress(total_chans, total_chans)
|
||||||
|
|
@ -510,11 +510,11 @@ class BackupPane(Container):
|
||||||
await self.exporter.export_metadata()
|
await self.exporter.export_metadata()
|
||||||
modal_prog.write("[bold green]Sync operation complete![/bold green]")
|
modal_prog.write("[bold green]Sync operation complete![/bold green]")
|
||||||
logger.info("Sync operation completed successfully.")
|
logger.info("Sync operation completed successfully.")
|
||||||
modal_prog.phase_report("Backup Sync")
|
modal_prog.phase_report("Backup Sync", show_back=False)
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"Sync failed: {e}\n{traceback.format_exc()}")
|
logger.error(f"Sync failed: {e}\n{traceback.format_exc()}")
|
||||||
modal_prog.write(f"[bold red]Sync failed: {e}[/bold red]")
|
modal_prog.write(f"[bold red]Sync failed: {e}[/bold red]")
|
||||||
modal_prog.phase_report("Backup Sync", "error")
|
modal_prog.phase_report("Backup Sync", "error", show_back=False)
|
||||||
finally:
|
finally:
|
||||||
await self.engine.close_connections()
|
await self.engine.close_connections()
|
||||||
|
|
|
||||||
|
|
@ -329,7 +329,7 @@ class ProgressScreen(Screen[None]):
|
||||||
try: self.query_one("#info_new_items", Label).display = False
|
try: self.query_one("#info_new_items", Label).display = False
|
||||||
except Exception: pass
|
except Exception: pass
|
||||||
|
|
||||||
def phase_report(self, operation_name: str, status: str = "complete"):
|
def phase_report(self, operation_name: str, status: str = "complete", show_back: bool = True):
|
||||||
"""Phase 4: Operation is done. Show Back + Main Menu.
|
"""Phase 4: Operation is done. Show Back + Main Menu.
|
||||||
|
|
||||||
status can be: 'complete', 'stopped', 'error'
|
status can be: 'complete', 'stopped', 'error'
|
||||||
|
|
@ -365,7 +365,8 @@ class ProgressScreen(Screen[None]):
|
||||||
|
|
||||||
try:
|
try:
|
||||||
back_btn = self.query_one("#btn_back", Button)
|
back_btn = self.query_one("#btn_back", Button)
|
||||||
back_btn.disabled = False
|
back_btn.disabled = not show_back
|
||||||
|
back_btn.display = show_back
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -494,13 +494,13 @@ class ShuttlePane(Container):
|
||||||
elif sel == "sub_sync_perms":
|
elif sel == "sub_sync_perms":
|
||||||
results["perms"] = await self._logic_sync_permissions(modal)
|
results["perms"] = await self._logic_sync_permissions(modal)
|
||||||
|
|
||||||
modal.phase_report("Clone Template Complete")
|
modal.phase_report("Clone Template Complete", show_back=False)
|
||||||
report = self._format_clone_report(results)
|
report = self._format_clone_report(results)
|
||||||
modal.write(report)
|
modal.write(report)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"Batch Cloning Error: {e}\n{traceback.format_exc()}")
|
logger.error(f"Batch Cloning Error: {e}\n{traceback.format_exc()}")
|
||||||
modal.write(f"[bold red]Error: {e}[/bold red]")
|
modal.write(f"[bold red]Error: {e}[/bold red]")
|
||||||
modal.phase_report("Batch Operation", "error")
|
modal.phase_report("Batch Operation", "error", show_back=False)
|
||||||
finally:
|
finally:
|
||||||
self.engine.is_running = False
|
self.engine.is_running = False
|
||||||
await self.engine.close_connections()
|
await self.engine.close_connections()
|
||||||
|
|
@ -578,13 +578,13 @@ class ShuttlePane(Container):
|
||||||
if meta_comps:
|
if meta_comps:
|
||||||
results["metadata"] = await self._logic_sync_metadata(modal, meta_comps)
|
results["metadata"] = await self._logic_sync_metadata(modal, meta_comps)
|
||||||
|
|
||||||
modal.phase_report("Sync Settings Complete")
|
modal.phase_report("Sync Settings Complete", show_back=False)
|
||||||
report = self._format_sync_report(results)
|
report = self._format_sync_report(results)
|
||||||
modal.write(report)
|
modal.write(report)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"Batch Sync Error: {e}\n{traceback.format_exc()}")
|
logger.error(f"Batch Sync Error: {e}\n{traceback.format_exc()}")
|
||||||
modal.write(f"[bold red]Error: {e}[/bold red]")
|
modal.write(f"[bold red]Error: {e}[/bold red]")
|
||||||
modal.phase_report("Batch Operation", "error")
|
modal.phase_report("Batch Operation", "error", show_back=False)
|
||||||
finally:
|
finally:
|
||||||
self.engine.is_running = False
|
self.engine.is_running = False
|
||||||
await self.engine.close_connections()
|
await self.engine.close_connections()
|
||||||
|
|
@ -1005,11 +1005,11 @@ class ShuttlePane(Container):
|
||||||
if self.engine.is_running:
|
if self.engine.is_running:
|
||||||
modal.write(f"[bold green]Success! {result['messages']} messages migrated.[/bold green]")
|
modal.write(f"[bold green]Success! {result['messages']} messages migrated.[/bold green]")
|
||||||
event_title = "Message Migration"
|
event_title = "Message Migration"
|
||||||
modal.phase_report(event_title)
|
modal.phase_report(event_title, show_back=False)
|
||||||
else:
|
else:
|
||||||
modal.write(f"[bold yellow]Interrupted! {result['messages']} messages migrated.[/bold yellow]")
|
modal.write(f"[bold yellow]Interrupted! {result['messages']} messages migrated.[/bold yellow]")
|
||||||
event_title = "Message Migration"
|
event_title = "Message Migration"
|
||||||
modal.phase_report(event_title, "stopped")
|
modal.phase_report(event_title, "stopped", show_back=False)
|
||||||
|
|
||||||
lines = [f"Migrated Discord #{source_channel.name} → {platform_name} #{target_channel.get('name')}:"]
|
lines = [f"Migrated Discord #{source_channel.name} → {platform_name} #{target_channel.get('name')}:"]
|
||||||
lines.append(f"{result['messages']} messages, {result['attachments']} attachments, {result['threads']} threads")
|
lines.append(f"{result['messages']} messages, {result['attachments']} attachments, {result['threads']} threads")
|
||||||
|
|
@ -1021,7 +1021,7 @@ class ShuttlePane(Container):
|
||||||
modal.write("[bold red]Bot is missing the 'Masquerade' permission.[/bold red]")
|
modal.write("[bold red]Bot is missing the 'Masquerade' permission.[/bold red]")
|
||||||
else:
|
else:
|
||||||
modal.write(f"[bold red]Error: {err}[/bold red]")
|
modal.write(f"[bold red]Error: {err}[/bold red]")
|
||||||
modal.phase_report("Message Migration", "error")
|
modal.phase_report("Message Migration", "error", show_back=False)
|
||||||
finally:
|
finally:
|
||||||
self.engine.is_running = False
|
self.engine.is_running = False
|
||||||
await self.engine.close_connections()
|
await self.engine.close_connections()
|
||||||
|
|
@ -1126,11 +1126,11 @@ class ShuttlePane(Container):
|
||||||
elif sel == "dz_del_assets":
|
elif sel == "dz_del_assets":
|
||||||
await self._logic_dz_delete_assets(modal)
|
await self._logic_dz_delete_assets(modal)
|
||||||
|
|
||||||
modal.phase_report("Danger Zone Operations Complete")
|
modal.phase_report("Danger Zone Operations Complete", show_back=False)
|
||||||
modal.write("[bold green]All selected destructive operations finished.[/bold green]")
|
modal.write("[bold green]All selected destructive operations finished.[/bold green]")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
modal.write(f"[bold red]Error: {e}[/bold red]")
|
modal.write(f"[bold red]Error: {e}[/bold red]")
|
||||||
modal.phase_report("Danger Zone Batch", "error")
|
modal.phase_report("Danger Zone Batch", "error", show_back=False)
|
||||||
finally:
|
finally:
|
||||||
self.engine.is_running = False
|
self.engine.is_running = False
|
||||||
await self.engine.close_target_only()
|
await self.engine.close_target_only()
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue