fix open config dialog
This commit is contained in:
parent
d1b9838555
commit
5175132deb
@ -442,7 +442,8 @@
|
||||
"quiet": false,
|
||||
"mask_warnings": true,
|
||||
"mask_errors": false,
|
||||
"silent_overwrite": true
|
||||
"silent_overwrite": true,
|
||||
"enable_python_worker_profiling": false
|
||||
}
|
||||
},
|
||||
"segment_processor_config": {
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 79 KiB |
@ -6,10 +6,10 @@
|
||||
import re
|
||||
|
||||
# --- Version Data (Generated) ---
|
||||
__version__ = "v.0.0.0.10-0-gd471569-dirty"
|
||||
GIT_COMMIT_HASH = "d4715690ab35c5ae15b593609182561a1f6fcdbd"
|
||||
__version__ = "v.0.0.0.38-0-g7251cf8-dirty"
|
||||
GIT_COMMIT_HASH = "7251cf8e301716f904aab60b759fe8d9abd6664b"
|
||||
GIT_BRANCH = "master"
|
||||
BUILD_TIMESTAMP = "2025-06-24T05:34:07.850332+00:00"
|
||||
BUILD_TIMESTAMP = "2025-07-14T13:26:54.921185+00:00"
|
||||
IS_GIT_REPO = True
|
||||
|
||||
# --- Default Values (for comparison or fallback) ---
|
||||
@ -17,7 +17,6 @@ DEFAULT_VERSION = "0.0.0+unknown"
|
||||
DEFAULT_COMMIT = "Unknown"
|
||||
DEFAULT_BRANCH = "Unknown"
|
||||
|
||||
|
||||
# --- Helper Function ---
|
||||
def get_version_string(format_string=None):
|
||||
"""
|
||||
@ -45,38 +44,28 @@ def get_version_string(format_string=None):
|
||||
|
||||
replacements = {}
|
||||
try:
|
||||
replacements["version"] = __version__ if __version__ else DEFAULT_VERSION
|
||||
replacements["commit"] = GIT_COMMIT_HASH if GIT_COMMIT_HASH else DEFAULT_COMMIT
|
||||
replacements["commit_short"] = (
|
||||
GIT_COMMIT_HASH[:7]
|
||||
if GIT_COMMIT_HASH and len(GIT_COMMIT_HASH) >= 7
|
||||
else DEFAULT_COMMIT
|
||||
)
|
||||
replacements["branch"] = GIT_BRANCH if GIT_BRANCH else DEFAULT_BRANCH
|
||||
replacements["timestamp"] = BUILD_TIMESTAMP if BUILD_TIMESTAMP else "Unknown"
|
||||
replacements["timestamp_short"] = (
|
||||
BUILD_TIMESTAMP.split("T")[0]
|
||||
if BUILD_TIMESTAMP and "T" in BUILD_TIMESTAMP
|
||||
else "Unknown"
|
||||
)
|
||||
replacements["is_git"] = "Git" if IS_GIT_REPO else "Unknown"
|
||||
replacements["dirty"] = (
|
||||
"-dirty" if __version__ and __version__.endswith("-dirty") else ""
|
||||
)
|
||||
replacements['version'] = __version__ if __version__ else DEFAULT_VERSION
|
||||
replacements['commit'] = GIT_COMMIT_HASH if GIT_COMMIT_HASH else DEFAULT_COMMIT
|
||||
replacements['commit_short'] = GIT_COMMIT_HASH[:7] if GIT_COMMIT_HASH and len(GIT_COMMIT_HASH) >= 7 else DEFAULT_COMMIT
|
||||
replacements['branch'] = GIT_BRANCH if GIT_BRANCH else DEFAULT_BRANCH
|
||||
replacements['timestamp'] = BUILD_TIMESTAMP if BUILD_TIMESTAMP else "Unknown"
|
||||
replacements['timestamp_short'] = BUILD_TIMESTAMP.split('T')[0] if BUILD_TIMESTAMP and 'T' in BUILD_TIMESTAMP else "Unknown"
|
||||
replacements['is_git'] = "Git" if IS_GIT_REPO else "Unknown"
|
||||
replacements['dirty'] = "-dirty" if __version__ and __version__.endswith('-dirty') else ""
|
||||
|
||||
tag = DEFAULT_VERSION
|
||||
if __version__ and IS_GIT_REPO:
|
||||
match = re.match(r"^(v?([0-9]+(?:\.[0-9]+)*))", __version__)
|
||||
match = re.match(r'^(v?([0-9]+(?:\.[0-9]+)*))', __version__)
|
||||
if match:
|
||||
tag = match.group(1)
|
||||
replacements["tag"] = tag
|
||||
replacements['tag'] = tag
|
||||
|
||||
output_string = format_string
|
||||
for placeholder, value in replacements.items():
|
||||
pattern = re.compile(r"{{\s*" + re.escape(placeholder) + r"\s*}}")
|
||||
pattern = re.compile(r'{{\s*' + re.escape(placeholder) + r'\s*}}')
|
||||
output_string = pattern.sub(str(value), output_string)
|
||||
|
||||
if re.search(r"{\s*\w+\s*}", output_string):
|
||||
if re.search(r'{\s*\w+\s*}', output_string):
|
||||
pass # Or log a warning: print(f"Warning: Unreplaced placeholders found: {output_string}")
|
||||
|
||||
return output_string
|
||||
|
||||
@ -10,8 +10,7 @@ from tkinter import ttk
|
||||
from typing import Dict, Any
|
||||
|
||||
from .gui_utils import center_window
|
||||
from .config_frames import GReconverterOptionsFrame # Importa il frame riutilizzabile
|
||||
|
||||
from .config_frames import GReconverterOptionsFrame
|
||||
|
||||
class SegmentExportConfigWindow(tk.Toplevel):
|
||||
"""A Toplevel window for managing all segment export parameters."""
|
||||
@ -75,16 +74,24 @@ class SegmentExportConfigWindow(tk.Toplevel):
|
||||
"mask_warnings": tk.BooleanVar(),
|
||||
"mask_errors": tk.BooleanVar(),
|
||||
"silent_overwrite": tk.BooleanVar(),
|
||||
"enable_python_worker_profiling": tk.BooleanVar(),
|
||||
}
|
||||
|
||||
def _populate_vars_from_config(self):
|
||||
naming_config = self.config_data.get("naming_options", {})
|
||||
for key, var in self.naming_vars.items():
|
||||
var.set(naming_config.get(key, ""))
|
||||
var.set(naming_config.get(key, ''))
|
||||
|
||||
g_reconverter_config = self.config_data.get("g_reconverter_options", {})
|
||||
for key, var in self.g_reconverter_vars.items():
|
||||
var.set(g_reconverter_config.get(key, ""))
|
||||
# --- MODIFICA: Fornisce un default del tipo corretto ---
|
||||
default_value = ''
|
||||
if isinstance(var, tk.BooleanVar):
|
||||
default_value = False
|
||||
elif isinstance(var, tk.IntVar):
|
||||
default_value = 0
|
||||
|
||||
var.set(g_reconverter_config.get(key, default_value))
|
||||
|
||||
def _create_widgets(self):
|
||||
main_frame = ttk.Frame(self, padding="10")
|
||||
@ -93,48 +100,32 @@ class SegmentExportConfigWindow(tk.Toplevel):
|
||||
naming_frame = ttk.LabelFrame(main_frame, text="Segment Folder Naming")
|
||||
naming_frame.pack(fill=tk.X, pady=(0, 15))
|
||||
naming_frame.columnconfigure(1, weight=1)
|
||||
ttk.Label(naming_frame, text="Folder Name Template:").grid(
|
||||
row=0, column=0, padx=5, pady=5, sticky="w"
|
||||
)
|
||||
template_entry = ttk.Entry(
|
||||
naming_frame, textvariable=self.naming_vars["folder_name_template"]
|
||||
)
|
||||
ttk.Label(naming_frame, text="Folder Name Template:").grid(row=0, column=0, padx=5, pady=5, sticky="w")
|
||||
template_entry = ttk.Entry(naming_frame, textvariable=self.naming_vars["folder_name_template"])
|
||||
template_entry.grid(row=0, column=1, sticky="ew", padx=5, pady=5)
|
||||
|
||||
placeholders = "{Segment}, {StartBatch}, {EndBatch}, {BatchCount}"
|
||||
help_text = f"Available placeholders: {placeholders}"
|
||||
ttk.Label(naming_frame, text=help_text, wraplength=750, justify=tk.LEFT).grid(
|
||||
row=1, column=0, columnspan=2, sticky="w", padx=5, pady=(0, 5)
|
||||
)
|
||||
ttk.Label(naming_frame, text=help_text, wraplength=750, justify=tk.LEFT).grid(row=1, column=0, columnspan=2, sticky="w", padx=5, pady=(0, 5))
|
||||
|
||||
g_reconverter_frame_container = ttk.LabelFrame(
|
||||
main_frame, text="g_reconverter Options for Export"
|
||||
)
|
||||
g_reconverter_frame_container = ttk.LabelFrame(main_frame, text="g_reconverter Options for Export")
|
||||
g_reconverter_frame_container.pack(fill=tk.BOTH, expand=True)
|
||||
|
||||
options_frame = GReconverterOptionsFrame(
|
||||
g_reconverter_frame_container, self.g_reconverter_vars
|
||||
)
|
||||
options_frame = GReconverterOptionsFrame(g_reconverter_frame_container, self.g_reconverter_vars)
|
||||
options_frame.pack(fill=tk.BOTH, expand=True, padx=5, pady=5)
|
||||
|
||||
button_frame = ttk.Frame(main_frame)
|
||||
button_frame.pack(fill=tk.X, pady=(10, 0), side=tk.BOTTOM)
|
||||
ttk.Button(button_frame, text="Save & Close", command=self._on_save).pack(
|
||||
side=tk.RIGHT, padx=5
|
||||
)
|
||||
ttk.Button(button_frame, text="Cancel", command=self._on_cancel).pack(
|
||||
side=tk.RIGHT
|
||||
)
|
||||
ttk.Button(button_frame, text="Save & Close", command=self._on_save).pack(side=tk.RIGHT, padx=5)
|
||||
ttk.Button(button_frame, text="Cancel", command=self._on_cancel).pack(side=tk.RIGHT)
|
||||
|
||||
def _on_save(self):
|
||||
new_naming_config = {key: var.get() for key, var in self.naming_vars.items()}
|
||||
new_g_reconverter_config = {
|
||||
key: var.get() for key, var in self.g_reconverter_vars.items()
|
||||
}
|
||||
new_g_reconverter_config = {key: var.get() for key, var in self.g_reconverter_vars.items()}
|
||||
|
||||
final_config = {
|
||||
"naming_options": new_naming_config,
|
||||
"g_reconverter_options": new_g_reconverter_config,
|
||||
"g_reconverter_options": new_g_reconverter_config
|
||||
}
|
||||
|
||||
self.controller.save_segment_export_config(final_config)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user