Hoctar77 commited on
Commit
f9d4a10
·
verified ·
1 Parent(s): c01ce36

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -13
app.py CHANGED
@@ -868,29 +868,44 @@ class FAADocumentChecker(DocumentChecker):
868
  def process_document(file_obj, doc_type: str, template_type: Optional[str] = None) -> str:
869
  """Process document and run all checks."""
870
  try:
 
871
  checker = FAADocumentChecker()
872
 
 
873
  if isinstance(file_obj, bytes):
874
  file_obj = io.BytesIO(file_obj)
875
 
 
876
  results = checker.run_all_checks(file_obj, doc_type, template_type)
877
- return format_markdown_results(results, doc_type)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
878
 
879
  except Exception as e:
880
  logging.error(f"Error processing document: {str(e)}")
881
  traceback.print_exc()
882
- return f"""
883
- # Error Processing Document
884
-
885
- **Error Details:** {str(e)}
886
-
887
- Please ensure:
888
- 1. The file is a valid .docx document
889
- 2. The file is not corrupted or password protected
890
- 3. The file is properly formatted
891
-
892
- Try again after checking these issues. If the problem persists, contact support.
893
- """
894
 
895
  def format_markdown_results(results: Dict[str, DocumentCheckResult], doc_type: str) -> str:
896
  """Format check results into a Markdown string for Gradio display."""
 
868
  def process_document(file_obj, doc_type: str, template_type: Optional[str] = None) -> str:
869
  """Process document and run all checks."""
870
  try:
871
+ # Initialize checker
872
  checker = FAADocumentChecker()
873
 
874
+ # Convert file object to BytesIO if needed
875
  if isinstance(file_obj, bytes):
876
  file_obj = io.BytesIO(file_obj)
877
 
878
+ # Run all checks
879
  results = checker.run_all_checks(file_obj, doc_type, template_type)
880
+
881
+ # Format results using DocumentCheckResultsFormatter
882
+ formatter = DocumentCheckResultsFormatter()
883
+ formatted_results = formatter.format_results(results, doc_type)
884
+
885
+ # Convert the formatted results to HTML
886
+ html_content = f"""
887
+ <div id="document-checker-results"></div>
888
+ <script type="module">
889
+ import DocumentCheckerResults from './components/DocumentCheckerResults.jsx';
890
+ const results = {json.dumps(formatted_results)};
891
+ const root = document.getElementById('document-checker-results');
892
+ ReactDOM.render(React.createElement(DocumentCheckerResults, {{ results }}), root);
893
+ </script>
894
+ """
895
+
896
+ return html_content
897
 
898
  except Exception as e:
899
  logging.error(f"Error processing document: {str(e)}")
900
  traceback.print_exc()
901
+ error_html = f"""
902
+ <div class="error-message" style="color: red; padding: 1rem;">
903
+ ❌ Error processing document: {str(e)}
904
+ <br><br>
905
+ Please ensure the file is a valid .docx document and try again.
906
+ </div>
907
+ """
908
+ return error_html
 
 
 
 
909
 
910
  def format_markdown_results(results: Dict[str, DocumentCheckResult], doc_type: str) -> str:
911
  """Format check results into a Markdown string for Gradio display."""