INNER CODE UNIT · Python
save_managed_positions
FLOCK4H/Dexter · Dexter.py:184
def save_managed_positions(config, store: dict[str, Any]) -> Path:
path = _managed_positions_path(config)
path.parent.mkdir(parents=True, exist_ok=True)
payload = dict(store)
payload["updated_at"] = _utc_now_iso()
temp_path = path.with_suffix(path.suffix + ".tmp")
temp_path.write_text(json.dumps(payload, indent=2, sort_keys=True), encoding="utf-8")
temp_path.replace(path)
return path
def list_managed_positions(config, *, status: str | None = None) -> list[dict[str, Any]]:
positions = list((load_managed_positions(config).get("positions") or {}).values())
if status:
positions = [item for item in positions if item.get("status") == status]
positions.sort(
key=lambda item: (
0 if item.get("status") == "open" else 1,