fix open config dialog
This commit is contained in:
parent
d1b9838555
commit
5175132deb
@ -442,7 +442,8 @@
|
|||||||
"quiet": false,
|
"quiet": false,
|
||||||
"mask_warnings": true,
|
"mask_warnings": true,
|
||||||
"mask_errors": false,
|
"mask_errors": false,
|
||||||
"silent_overwrite": true
|
"silent_overwrite": true,
|
||||||
|
"enable_python_worker_profiling": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"segment_processor_config": {
|
"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
|
import re
|
||||||
|
|
||||||
# --- Version Data (Generated) ---
|
# --- Version Data (Generated) ---
|
||||||
__version__ = "v.0.0.0.10-0-gd471569-dirty"
|
__version__ = "v.0.0.0.38-0-g7251cf8-dirty"
|
||||||
GIT_COMMIT_HASH = "d4715690ab35c5ae15b593609182561a1f6fcdbd"
|
GIT_COMMIT_HASH = "7251cf8e301716f904aab60b759fe8d9abd6664b"
|
||||||
GIT_BRANCH = "master"
|
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
|
IS_GIT_REPO = True
|
||||||
|
|
||||||
# --- Default Values (for comparison or fallback) ---
|
# --- Default Values (for comparison or fallback) ---
|
||||||
@ -17,7 +17,6 @@ DEFAULT_VERSION = "0.0.0+unknown"
|
|||||||
DEFAULT_COMMIT = "Unknown"
|
DEFAULT_COMMIT = "Unknown"
|
||||||
DEFAULT_BRANCH = "Unknown"
|
DEFAULT_BRANCH = "Unknown"
|
||||||
|
|
||||||
|
|
||||||
# --- Helper Function ---
|
# --- Helper Function ---
|
||||||
def get_version_string(format_string=None):
|
def get_version_string(format_string=None):
|
||||||
"""
|
"""
|
||||||
@ -45,38 +44,28 @@ def get_version_string(format_string=None):
|
|||||||
|
|
||||||
replacements = {}
|
replacements = {}
|
||||||
try:
|
try:
|
||||||
replacements["version"] = __version__ if __version__ else DEFAULT_VERSION
|
replacements['version'] = __version__ if __version__ else DEFAULT_VERSION
|
||||||
replacements["commit"] = GIT_COMMIT_HASH if GIT_COMMIT_HASH else DEFAULT_COMMIT
|
replacements['commit'] = GIT_COMMIT_HASH if GIT_COMMIT_HASH else DEFAULT_COMMIT
|
||||||
replacements["commit_short"] = (
|
replacements['commit_short'] = GIT_COMMIT_HASH[:7] if GIT_COMMIT_HASH and len(GIT_COMMIT_HASH) >= 7 else DEFAULT_COMMIT
|
||||||
GIT_COMMIT_HASH[:7]
|
replacements['branch'] = GIT_BRANCH if GIT_BRANCH else DEFAULT_BRANCH
|
||||||
if GIT_COMMIT_HASH and len(GIT_COMMIT_HASH) >= 7
|
replacements['timestamp'] = BUILD_TIMESTAMP if BUILD_TIMESTAMP else "Unknown"
|
||||||
else DEFAULT_COMMIT
|
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["branch"] = GIT_BRANCH if GIT_BRANCH else DEFAULT_BRANCH
|
replacements['dirty'] = "-dirty" if __version__ and __version__.endswith('-dirty') else ""
|
||||||
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
|
tag = DEFAULT_VERSION
|
||||||
if __version__ and IS_GIT_REPO:
|
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:
|
if match:
|
||||||
tag = match.group(1)
|
tag = match.group(1)
|
||||||
replacements["tag"] = tag
|
replacements['tag'] = tag
|
||||||
|
|
||||||
output_string = format_string
|
output_string = format_string
|
||||||
for placeholder, value in replacements.items():
|
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)
|
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}")
|
pass # Or log a warning: print(f"Warning: Unreplaced placeholders found: {output_string}")
|
||||||
|
|
||||||
return output_string
|
return output_string
|
||||||
|
|||||||
@ -10,8 +10,7 @@ from tkinter import ttk
|
|||||||
from typing import Dict, Any
|
from typing import Dict, Any
|
||||||
|
|
||||||
from .gui_utils import center_window
|
from .gui_utils import center_window
|
||||||
from .config_frames import GReconverterOptionsFrame # Importa il frame riutilizzabile
|
from .config_frames import GReconverterOptionsFrame
|
||||||
|
|
||||||
|
|
||||||
class SegmentExportConfigWindow(tk.Toplevel):
|
class SegmentExportConfigWindow(tk.Toplevel):
|
||||||
"""A Toplevel window for managing all segment export parameters."""
|
"""A Toplevel window for managing all segment export parameters."""
|
||||||
@ -75,16 +74,24 @@ class SegmentExportConfigWindow(tk.Toplevel):
|
|||||||
"mask_warnings": tk.BooleanVar(),
|
"mask_warnings": tk.BooleanVar(),
|
||||||
"mask_errors": tk.BooleanVar(),
|
"mask_errors": tk.BooleanVar(),
|
||||||
"silent_overwrite": tk.BooleanVar(),
|
"silent_overwrite": tk.BooleanVar(),
|
||||||
|
"enable_python_worker_profiling": tk.BooleanVar(),
|
||||||
}
|
}
|
||||||
|
|
||||||
def _populate_vars_from_config(self):
|
def _populate_vars_from_config(self):
|
||||||
naming_config = self.config_data.get("naming_options", {})
|
naming_config = self.config_data.get("naming_options", {})
|
||||||
for key, var in self.naming_vars.items():
|
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", {})
|
g_reconverter_config = self.config_data.get("g_reconverter_options", {})
|
||||||
for key, var in self.g_reconverter_vars.items():
|
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):
|
def _create_widgets(self):
|
||||||
main_frame = ttk.Frame(self, padding="10")
|
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 = ttk.LabelFrame(main_frame, text="Segment Folder Naming")
|
||||||
naming_frame.pack(fill=tk.X, pady=(0, 15))
|
naming_frame.pack(fill=tk.X, pady=(0, 15))
|
||||||
naming_frame.columnconfigure(1, weight=1)
|
naming_frame.columnconfigure(1, weight=1)
|
||||||
ttk.Label(naming_frame, text="Folder Name Template:").grid(
|
ttk.Label(naming_frame, text="Folder Name Template:").grid(row=0, column=0, padx=5, pady=5, sticky="w")
|
||||||
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 = ttk.Entry(
|
|
||||||
naming_frame, textvariable=self.naming_vars["folder_name_template"]
|
|
||||||
)
|
|
||||||
template_entry.grid(row=0, column=1, sticky="ew", padx=5, pady=5)
|
template_entry.grid(row=0, column=1, sticky="ew", padx=5, pady=5)
|
||||||
|
|
||||||
placeholders = "{Segment}, {StartBatch}, {EndBatch}, {BatchCount}"
|
placeholders = "{Segment}, {StartBatch}, {EndBatch}, {BatchCount}"
|
||||||
help_text = f"Available placeholders: {placeholders}"
|
help_text = f"Available placeholders: {placeholders}"
|
||||||
ttk.Label(naming_frame, text=help_text, wraplength=750, justify=tk.LEFT).grid(
|
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))
|
||||||
row=1, column=0, columnspan=2, sticky="w", padx=5, pady=(0, 5)
|
|
||||||
)
|
|
||||||
|
|
||||||
g_reconverter_frame_container = ttk.LabelFrame(
|
g_reconverter_frame_container = ttk.LabelFrame(main_frame, text="g_reconverter Options for Export")
|
||||||
main_frame, text="g_reconverter Options for Export"
|
|
||||||
)
|
|
||||||
g_reconverter_frame_container.pack(fill=tk.BOTH, expand=True)
|
g_reconverter_frame_container.pack(fill=tk.BOTH, expand=True)
|
||||||
|
|
||||||
options_frame = GReconverterOptionsFrame(
|
options_frame = GReconverterOptionsFrame(g_reconverter_frame_container, self.g_reconverter_vars)
|
||||||
g_reconverter_frame_container, self.g_reconverter_vars
|
|
||||||
)
|
|
||||||
options_frame.pack(fill=tk.BOTH, expand=True, padx=5, pady=5)
|
options_frame.pack(fill=tk.BOTH, expand=True, padx=5, pady=5)
|
||||||
|
|
||||||
button_frame = ttk.Frame(main_frame)
|
button_frame = ttk.Frame(main_frame)
|
||||||
button_frame.pack(fill=tk.X, pady=(10, 0), side=tk.BOTTOM)
|
button_frame.pack(fill=tk.X, pady=(10, 0), side=tk.BOTTOM)
|
||||||
ttk.Button(button_frame, text="Save & Close", command=self._on_save).pack(
|
ttk.Button(button_frame, text="Save & Close", command=self._on_save).pack(side=tk.RIGHT, padx=5)
|
||||||
side=tk.RIGHT, padx=5
|
ttk.Button(button_frame, text="Cancel", command=self._on_cancel).pack(side=tk.RIGHT)
|
||||||
)
|
|
||||||
ttk.Button(button_frame, text="Cancel", command=self._on_cancel).pack(
|
|
||||||
side=tk.RIGHT
|
|
||||||
)
|
|
||||||
|
|
||||||
def _on_save(self):
|
def _on_save(self):
|
||||||
new_naming_config = {key: var.get() for key, var in self.naming_vars.items()}
|
new_naming_config = {key: var.get() for key, var in self.naming_vars.items()}
|
||||||
new_g_reconverter_config = {
|
new_g_reconverter_config = {key: var.get() for key, var in self.g_reconverter_vars.items()}
|
||||||
key: var.get() for key, var in self.g_reconverter_vars.items()
|
|
||||||
}
|
|
||||||
|
|
||||||
final_config = {
|
final_config = {
|
||||||
"naming_options": new_naming_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)
|
self.controller.save_segment_export_config(final_config)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user