fix for project files written to wrong directory
This commit is contained in:
@@ -594,6 +594,12 @@ def export(
|
|||||||
conv_id = raw_conv.get("id") or raw_conv.get("uuid", "unknown")
|
conv_id = raw_conv.get("id") or raw_conv.get("uuid", "unknown")
|
||||||
try:
|
try:
|
||||||
full_raw = prov_instance.get_conversation(conv_id)
|
full_raw = prov_instance.get_conversation(conv_id)
|
||||||
|
# Propagate provider annotations from the listing summary
|
||||||
|
# (e.g. _project_name set by ChatGPT project fetching) into
|
||||||
|
# the full detail so normalize_conversation can use them.
|
||||||
|
for key, val in raw_conv.items():
|
||||||
|
if key.startswith("_") and key not in full_raw:
|
||||||
|
full_raw[key] = val
|
||||||
normalized = prov_instance.normalize_conversation(full_raw)
|
normalized = prov_instance.normalize_conversation(full_raw)
|
||||||
|
|
||||||
exported_path: Path | None = None
|
exported_path: Path | None = None
|
||||||
|
|||||||
@@ -551,12 +551,16 @@ class ChatGPTProvider(BaseProvider):
|
|||||||
created_at = _ts_to_iso(raw.get("create_time"))
|
created_at = _ts_to_iso(raw.get("create_time"))
|
||||||
updated_at = _ts_to_iso(raw.get("update_time"))
|
updated_at = _ts_to_iso(raw.get("update_time"))
|
||||||
|
|
||||||
# Look up project name from the map built during fetch_all_conversations.
|
# Prefer _project_name annotation injected from the listing summary
|
||||||
project = self._project_map.get(conv_id) if conv_id else None
|
# (propagated by the export loop). Fall back to _project_map lookup.
|
||||||
|
project = raw.get("_project_name") or (
|
||||||
|
self._project_map.get(conv_id) if conv_id else None
|
||||||
|
)
|
||||||
logger.debug(
|
logger.debug(
|
||||||
"[chatgpt] normalize_conversation[%s]: project_map lookup → %r",
|
"[chatgpt] normalize_conversation[%s]: project=%r (source=%s)",
|
||||||
conv_id[:8] if conv_id else "?",
|
conv_id[:8] if conv_id else "?",
|
||||||
project,
|
project,
|
||||||
|
"_project_name" if raw.get("_project_name") else "_project_map",
|
||||||
)
|
)
|
||||||
|
|
||||||
mapping: dict = raw.get("mapping", {})
|
mapping: dict = raw.get("mapping", {})
|
||||||
|
|||||||
Reference in New Issue
Block a user