39 lines
926 B
Python
39 lines
926 B
Python
import copy
|
|
import json
|
|
import os
|
|
import tempfile
|
|
|
|
|
|
DEFAULT_ROTATION1 = {
|
|
"rotation_angle": 90,
|
|
"flip_x": True,
|
|
"flip_y": False,
|
|
}
|
|
|
|
DEFAULT_ROTATION2 = {
|
|
"rotation_angle": 90,
|
|
"flip_x": False,
|
|
"flip_y": False,
|
|
}
|
|
|
|
|
|
def normalize_rotation_config(value, default_config):
|
|
if value is None:
|
|
return copy.deepcopy(default_config)
|
|
if isinstance(value, dict):
|
|
return copy.deepcopy(value)
|
|
if isinstance(value, str):
|
|
text = value.strip()
|
|
if not text or text.lower() == "default":
|
|
return copy.deepcopy(default_config)
|
|
if text.startswith("{"):
|
|
return json.loads(text)
|
|
return value
|
|
|
|
|
|
def write_temp_rotation_config(config, label):
|
|
path = os.path.join(tempfile.gettempdir(), f"gripper_{label}_rotation.json")
|
|
with open(path, "w", encoding="utf-8") as f:
|
|
json.dump(config, f, ensure_ascii=False, indent=2)
|
|
return path
|