benchmark.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import zipfile
  2. import os
  3. import shutil
  4. code_path = os.environ.get('GITHUB_WORKSPACE')
  5. pdf_dev_path = "/home/quyuan/data"
  6. pdf_res_path = "/home/quyuan/code/Magic-PDF/Magic-PDF/Magic-PDF/ci/magic-pdf"
  7. def test_cli():
  8. magicpdf_path = os.path.join(pdf_dev_path, "output")
  9. if not os.path.exists(magicpdf_path):
  10. os.makedirs(magicpdf_path)
  11. cmd = 'cd %s && export PYTHONPATH=. && find %s -type f -name "*.pdf" | xargs -I{} python magic_pdf/cli/magicpdf.py pdf-command --pdf {}' % (code_path, magicpdf_path)
  12. os.system(cmd)
  13. for annotaion_name in os.walk(os.path.join(pdf_dev_path, "ci")):
  14. if annotaion_name.endswith('.md'):
  15. for pdf_res_path in os.listdir(pdf_res_path):
  16. if annotaion_name in os.path.join(pdf_res_path, annotaion_name, "auto"):
  17. prefix = annotaion_name.split('_')[-2]
  18. if not os.path.exists(os.join(pdf_dev_path, prefix)):
  19. #os.makedirs(os.path.join(pdf_dev_path, prefix))
  20. shutil.copy(os.path.join(pdf_res_path, annotaion_name.strip(".md"), "auto", annotaion_name), os.join(pdf_dev_path, "ci", prefix, annotaion_name))
  21. def calculate_score():
  22. cmd = "cd %s && export PYTHONPATH=. && python tools/clean_photo.py --tool_name annotations --download_dir %s" % (code_path, pdf_dev_path)
  23. os.system(cmd)
  24. cmd = "cd %s && export PYTHONPATH=. && python tools/clean_photo.py --tool_name magicpdf --download_dir %s" % (code_path, pdf_dev_path)
  25. os.system(cmd)
  26. cmd = "cd %s && export PYTHONPATH=. && python tools/markdown_calculate.py --tool_name pdf-command --download_dir %s --results %s" % (code_path, pdf_dev_path, os.path.join(pdf_dev_path, "result.json"))
  27. os.system(cmd)
  28. def extrat_zip(zip_file_path, extract_to_path):
  29. if zipfile.is_zipfile(zip_file_path):
  30. with zipfile.ZipFile(zip_file_path, 'r') as zip_ref:
  31. zip_ref.extractall(extract_to_path)
  32. print(f'Files extracted to {extract_to_path}')
  33. else:
  34. print(f'{zip_file_path} is not a zip file')
  35. if __name__ == "__main__":
  36. extrat_zip(os.path.join(pdf_dev_path, 'output.zip'), os.path.join(pdf_dev_path,'datasets'))
  37. test_cli()
  38. calculate_score()