inspect2.py 1001 B

1234567891011121314151617181920212223242526272829303132
  1. import sys
  2. f = open("/data/ai/audio/server/temp/rich-outline-fail_43_1782982196341.txt")
  3. s = f.read()
  4. # extract pure JSON
  5. import re
  6. m = re.search(r'(\{"mainTheme".*\})\s*$', s, re.DOTALL)
  7. if not m:
  8. print("no json found")
  9. sys.exit(0)
  10. json_str = m.group(1)
  11. print("json len=", len(json_str))
  12. print("---around keyPoints---")
  13. idx = json_str.find('"keyPoints":[')
  14. print(json_str[idx:idx+800])
  15. print("---try parse---")
  16. import json
  17. try:
  18. j = json.loads(json_str)
  19. print("OK, chapters=", len(j.get('chapters', [])))
  20. except Exception as e:
  21. print("parse error:", e)
  22. print("---try jsonrepair---")
  23. try:
  24. from json_repair import repair_json
  25. out = repair_json(json_str, return_objects=True)
  26. print("repaired type:", type(out))
  27. if isinstance(out, dict):
  28. print("repaired chapters=", len(out.get('chapters', [])))
  29. else:
  30. print("repaired first 200:", str(out)[:200])
  31. except Exception as e2:
  32. print("jsonrepair error:", e2)