rename Folder to ReaperFiles-*
This commit is contained in:
parent
b57444cee8
commit
90438513a5
5 changed files with 18 additions and 17 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -41,6 +41,7 @@ tmp/
|
||||||
test_*.py
|
test_*.py
|
||||||
test_release.zip
|
test_release.zip
|
||||||
test_release/
|
test_release/
|
||||||
|
DiscoReaper-*
|
||||||
|
|
||||||
REAPER-*/
|
REAPER-*/
|
||||||
Reaper-*/
|
Reaper-*/
|
||||||
|
|
|
||||||
|
|
@ -101,18 +101,18 @@ def save_config(config: AppConfig, config_path: Union[str, Path] = "config.yaml"
|
||||||
yaml.safe_dump(data, f, default_flow_style=False, sort_keys=False)
|
yaml.safe_dump(data, f, default_flow_style=False, sort_keys=False)
|
||||||
|
|
||||||
def get_available_configs() -> list[str]:
|
def get_available_configs() -> list[str]:
|
||||||
"""Returns a list of available configuration names from `Reaper-*` folders."""
|
"""Returns a list of available configuration names from `ReaperFiles-*` folders."""
|
||||||
configs = []
|
configs = []
|
||||||
for item in Path(".").iterdir():
|
for item in Path(".").iterdir():
|
||||||
if item.is_dir() and item.name.startswith("Reaper-"):
|
if item.is_dir() and item.name.startswith("ReaperFiles-"):
|
||||||
config_name = item.name[len("Reaper-"):]
|
config_name = item.name[len("ReaperFiles-"):]
|
||||||
if (item / "config.yaml").exists():
|
if (item / "config.yaml").exists():
|
||||||
configs.append(config_name)
|
configs.append(config_name)
|
||||||
return sorted(configs)
|
return sorted(configs)
|
||||||
|
|
||||||
def create_new_config(name: str) -> Path:
|
def create_new_config(name: str) -> Path:
|
||||||
"""Creates a new configuration folder and default config file."""
|
"""Creates a new configuration folder and default config file."""
|
||||||
folder_path = Path(f"Reaper-{name}")
|
folder_path = Path(f"ReaperFiles-{name}")
|
||||||
folder_path.mkdir(exist_ok=True)
|
folder_path.mkdir(exist_ok=True)
|
||||||
config_path = folder_path / "config.yaml"
|
config_path = folder_path / "config.yaml"
|
||||||
load_config(config_path) # creates default
|
load_config(config_path) # creates default
|
||||||
|
|
|
||||||
|
|
@ -50,8 +50,8 @@ class BackupPane(Container):
|
||||||
self.cfg_name = cfg_name
|
self.cfg_name = cfg_name
|
||||||
self.config_path = cfg_path
|
self.config_path = cfg_path
|
||||||
self.config = load_config(cfg_path)
|
self.config = load_config(cfg_path)
|
||||||
self.engine = MigrationContext(self.config, target_platform=self.config.target_platform or "fluxer", base_dir=f"Reaper-{self.cfg_name}")
|
self.engine = MigrationContext(self.config, target_platform=self.config.target_platform or "fluxer", base_dir=f"ReaperFiles-{self.cfg_name}")
|
||||||
self.exporter = DiscordExporter(self.engine.discord_reader, base_dir=f"Reaper-{self.cfg_name}")
|
self.exporter = DiscordExporter(self.engine.discord_reader, base_dir=f"ReaperFiles-{self.cfg_name}")
|
||||||
|
|
||||||
def compose(self) -> ComposeResult:
|
def compose(self) -> ComposeResult:
|
||||||
with VerticalScroll():
|
with VerticalScroll():
|
||||||
|
|
@ -82,8 +82,8 @@ class BackupPane(Container):
|
||||||
|
|
||||||
def reload_config(self) -> None:
|
def reload_config(self) -> None:
|
||||||
self.config = load_config(self.config_path)
|
self.config = load_config(self.config_path)
|
||||||
self.engine = MigrationContext(self.config, target_platform=self.config.target_platform or "fluxer", base_dir=f"Reaper-{self.cfg_name}")
|
self.engine = MigrationContext(self.config, target_platform=self.config.target_platform or "fluxer", base_dir=f"ReaperFiles-{self.cfg_name}")
|
||||||
self.exporter = DiscordExporter(self.engine.discord_reader, base_dir=f"Reaper-{self.cfg_name}")
|
self.exporter = DiscordExporter(self.engine.discord_reader, base_dir=f"ReaperFiles-{self.cfg_name}")
|
||||||
self._validate()
|
self._validate()
|
||||||
|
|
||||||
# ── validation ────────────────────────────────────────────────────────
|
# ── validation ────────────────────────────────────────────────────────
|
||||||
|
|
@ -113,7 +113,7 @@ class BackupPane(Container):
|
||||||
self._update_ui(f"[red]Error: {e}[/red]", "", "", False)
|
self._update_ui(f"[red]Error: {e}[/red]", "", "", False)
|
||||||
|
|
||||||
def _get_backup_info(self) -> str | None:
|
def _get_backup_info(self) -> str | None:
|
||||||
profile_file = Path(f"Reaper-{self.cfg_name}") / "server_profile" / "profile.json"
|
profile_file = Path(f"ReaperFiles-{self.cfg_name}") / "server_profile" / "profile.json"
|
||||||
if profile_file.exists():
|
if profile_file.exists():
|
||||||
try:
|
try:
|
||||||
with open(profile_file, "r", encoding="utf-8") as f:
|
with open(profile_file, "r", encoding="utf-8") as f:
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ from src.core.configuration import (
|
||||||
|
|
||||||
|
|
||||||
# ──────────────────────────────────────────────────────────────────────────────
|
# ──────────────────────────────────────────────────────────────────────────────
|
||||||
# Modal: create a new Reaper-* config folder
|
# Modal: create a new ReaperFiles-* config folder
|
||||||
# ──────────────────────────────────────────────────────────────────────────────
|
# ──────────────────────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
class NewConfigModal(ModalScreen[str]):
|
class NewConfigModal(ModalScreen[str]):
|
||||||
|
|
@ -63,7 +63,7 @@ class NewConfigModal(ModalScreen[str]):
|
||||||
|
|
||||||
|
|
||||||
# ──────────────────────────────────────────────────────────────────────────────
|
# ──────────────────────────────────────────────────────────────────────────────
|
||||||
# Screen 1: pick (or create) a Reaper-* config
|
# Screen 1: pick (or create) a ReaperFiles-* config
|
||||||
# ──────────────────────────────────────────────────────────────────────────────
|
# ──────────────────────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
class ConfigSelectionScreen(Screen):
|
class ConfigSelectionScreen(Screen):
|
||||||
|
|
@ -109,11 +109,11 @@ class ConfigSelectionScreen(Screen):
|
||||||
lv = self.query_one("#config_list", ListView)
|
lv = self.query_one("#config_list", ListView)
|
||||||
lv.clear()
|
lv.clear()
|
||||||
for c in configs:
|
for c in configs:
|
||||||
lv.append(ListItem(Label(f"Reaper-{c}"), name=c))
|
lv.append(ListItem(Label(f"ReaperFiles-{c}"), name=c))
|
||||||
|
|
||||||
def on_list_view_selected(self, event: ListView.Selected) -> None:
|
def on_list_view_selected(self, event: ListView.Selected) -> None:
|
||||||
cfg_name = event.item.name
|
cfg_name = event.item.name
|
||||||
cfg_path = Path(f"Reaper-{cfg_name}") / "config.yaml"
|
cfg_path = Path(f"ReaperFiles-{cfg_name}") / "config.yaml"
|
||||||
from src.ui.mode_screen import ModeScreen
|
from src.ui.mode_screen import ModeScreen
|
||||||
self.app.push_screen(ModeScreen(cfg_name, cfg_path))
|
self.app.push_screen(ModeScreen(cfg_name, cfg_path))
|
||||||
|
|
||||||
|
|
@ -124,7 +124,7 @@ class ConfigSelectionScreen(Screen):
|
||||||
create_new_config(name)
|
create_new_config(name)
|
||||||
self.refresh_configs()
|
self.refresh_configs()
|
||||||
# Immediately open the ConfigScreen for the new config
|
# Immediately open the ConfigScreen for the new config
|
||||||
cfg_path = Path(f"Reaper-{name}") / "config.yaml"
|
cfg_path = Path(f"ReaperFiles-{name}") / "config.yaml"
|
||||||
def on_config_saved(saved: bool = False):
|
def on_config_saved(saved: bool = False):
|
||||||
if saved:
|
if saved:
|
||||||
self.refresh_configs()
|
self.refresh_configs()
|
||||||
|
|
|
||||||
|
|
@ -146,7 +146,7 @@ class ShuttlePane(Container):
|
||||||
self.run_validate()
|
self.run_validate()
|
||||||
|
|
||||||
def _base_dir(self) -> str:
|
def _base_dir(self) -> str:
|
||||||
return f"Reaper-{self.cfg_name}"
|
return f"ReaperFiles-{self.cfg_name}"
|
||||||
|
|
||||||
def _rebuild_engine(self):
|
def _rebuild_engine(self):
|
||||||
source = "backup" if self.config.tool_mode == "backup_transfer" else "live"
|
source = "backup" if self.config.tool_mode == "backup_transfer" else "live"
|
||||||
|
|
@ -793,7 +793,7 @@ class ShuttlePane(Container):
|
||||||
modal.set_status(f"Fetching {platform_name} channels...")
|
modal.set_status(f"Fetching {platform_name} channels...")
|
||||||
|
|
||||||
full_f = await self.engine.writer.get_channels()
|
full_f = await self.engine.writer.get_channels()
|
||||||
f_channels = [c for c in full_f if c.get("name") not in ["reaper_logs", "reaper-logs"] and c.get("type") not in [2, 4]]
|
f_channels = [c for c in full_f if c.get("name") not in ["reaper_logs", "ReaperFiles-logs"] and c.get("type") not in [2, 4]]
|
||||||
|
|
||||||
if not f_channels:
|
if not f_channels:
|
||||||
modal.write(f"[yellow]No channels found in {platform_name} community.[/yellow]")
|
modal.write(f"[yellow]No channels found in {platform_name} community.[/yellow]")
|
||||||
|
|
@ -1132,7 +1132,7 @@ class ShuttlePane(Container):
|
||||||
try:
|
try:
|
||||||
if "dz_del_channels" in selections or "dz_reset_perms" in selections:
|
if "dz_del_channels" in selections or "dz_reset_perms" in selections:
|
||||||
channels_raw = await writer.get_channels()
|
channels_raw = await writer.get_channels()
|
||||||
protected = ["reaper-logs", "reaper_logs"]
|
protected = ["ReaperFiles-logs", "reaper_logs"]
|
||||||
channel_names = [
|
channel_names = [
|
||||||
c.get("name", "Unknown") for c in channels_raw
|
c.get("name", "Unknown") for c in channels_raw
|
||||||
if c.get("type") != 4 and str(c.get("name", "")).lower() not in protected
|
if c.get("type") != 4 and str(c.get("name", "")).lower() not in protected
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue