| #!/usr/bin/env python3 |
| ## @package process |
| # Module doxygen.process |
| # Script to insert preamble for doxygen and regen API docs |
| |
| import os |
| import shutil |
| |
| # Module caffe2...caffe2.python.control_test |
| def insert(originalfile, first_line, description): |
| with open(originalfile, 'r') as f: |
| f1 = f.readline() |
| if(f1.find(first_line) < 0): |
| docs = first_line + description + f1 |
| with open('newfile.txt', 'w') as f2: |
| f2.write(docs) |
| f2.write(f.read()) |
| os.rename('newfile.txt', originalfile) |
| else: |
| print('already inserted') |
| |
| # move up from /caffe2_root/doxygen |
| os.chdir("..") |
| os.system("git checkout caffe2/contrib/.") |
| os.system("git checkout caffe2/distributed/.") |
| os.system("git checkout caffe2/experiments/.") |
| os.system("git checkout caffe2/python/.") |
| |
| for root, dirs, files in os.walk("."): |
| for file in files: |
| if (file.endswith(".py") and not file.endswith("_test.py") and not file.endswith("__.py")): |
| filepath = os.path.join(root, file) |
| print(("filepath: " + filepath)) |
| directory = os.path.dirname(filepath)[2:] |
| directory = directory.replace("/", ".") |
| print("directory: " + directory) |
| name = os.path.splitext(file)[0] |
| first_line = "## @package " + name |
| description = "\n# Module " + directory + "." + name + "\n" |
| print(first_line, description) |
| insert(filepath, first_line, description) |
| |
| if os.path.exists("doxygen/doxygen-python"): |
| print("Looks like you ran this before, so we need to cleanup those old files...") |
| shutil.rmtree("doxygen/doxygen-python") |
| else: |
| os.makedirs("doxygen/doxygen-python") |
| |
| if os.path.exists("doxygen/doxygen-c"): |
| print("Looks like you ran this before, so we need to cleanup those old files...") |
| shutil.rmtree("doxygen/doxygen-c") |
| else: |
| os.makedirs("doxygen/doxygen-c") |
| |
| os.system("doxygen .Doxyfile-python") |
| os.system("doxygen .Doxyfile-c") |