update_generate_docs.py 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import re
  2. try:
  3. with open('docs/User_Guide.md', 'r', encoding='utf-8') as f:
  4. user_guide_content = f.read()
  5. user_guide_content = re.sub(r'^#ident [^\n]+\n', '', user_guide_content)
  6. if not user_guide_content.startswith('# $Id$'):
  7. user_guide_content = '# $Id$\n' + user_guide_content.lstrip('# ')
  8. with open('docs/Technical_Document.md', 'r', encoding='utf-8') as f:
  9. tech_doc_content = f.read()
  10. tech_doc_content = re.sub(r'^#ident [^\n]+\n', '', tech_doc_content)
  11. if not tech_doc_content.startswith('# $Id$'):
  12. tech_doc_content = '# $Id$\n' + tech_doc_content.lstrip('# ')
  13. # Escape backslashes for python string literal representation
  14. user_guide_content_escaped = user_guide_content.replace('\\', '\\\\')
  15. tech_doc_content_escaped = tech_doc_content.replace('\\', '\\\\')
  16. with open('generate_docs.py', 'r', encoding='utf-8') as f:
  17. gen_content = f.read()
  18. # 1. Update User_Guide.md in docs dict
  19. user_guide_pattern = r'("User_Guide\.md":\s*\"\"\"[\s\S]*?\"\"\",)'
  20. new_user_guide_block = f'"User_Guide.md": """{user_guide_content_escaped}""",\n'
  21. gen_content = re.sub(user_guide_pattern, new_user_guide_block, gen_content)
  22. # 2. Add Technical_Document.md to docs dict
  23. tech_doc_block = f' "Technical_Document.md": """{tech_doc_content_escaped}""",\n'
  24. if '"Technical_Document.md"' not in gen_content:
  25. idx = gen_content.find('"User_Guide.md"')
  26. if idx != -1:
  27. end_idx = gen_content.find('""",', idx)
  28. if end_idx != -1:
  29. insert_pos = end_idx + 5
  30. gen_content = gen_content[:insert_pos] + '\n' + tech_doc_block + gen_content[insert_pos:]
  31. else:
  32. # Overwrite existing Technical_Document.md block if present
  33. tech_doc_pattern = r'("Technical_Document\.md":\s*\"\"\"[\s\S]*?\"\"\",)'
  34. gen_content = re.sub(tech_doc_pattern, tech_doc_block, gen_content)
  35. # 3. Replace llama3.2-vision:11b with llama3.2:3b in gen_content
  36. gen_content = gen_content.replace('llama3.2-vision:11b', 'llama3.2:3b')
  37. with open('generate_docs.py', 'w', encoding='utf-8') as f:
  38. f.write(gen_content)
  39. print("Successfully updated generate_docs.py with escaped content!")
  40. except Exception as e:
  41. print(f"Error updating generate_docs.py: {e}")