Download verify_setup.py from fokan/pdf-4: direct link, hf CLI and curl.
- Browser
- Download file 4.97 kB
-
https://huggingface.co/spaces/fokan/pdf-4/resolve/main/verify_setup.py
- Command line
-
hf download hf://spaces/fokan/pdf-4/verify_setup.py
-
curl -L -o verify_setup.py https://huggingface.co/spaces/fokan/pdf-4/resolve/main/verify_setup.py
4.97 kB
| #!/usr/bin/env python3 | |
| """ | |
| Verification script for the Enhanced DOCX to PDF Converter | |
| """ | |
| import os | |
| import sys | |
| from pathlib import Path | |
| def verify_directory_structure(): | |
| """Verify that all required directories and files exist""" | |
| print("Verifying directory structure...") | |
| required_dirs = [ | |
| "src", | |
| "src/api", | |
| "src/utils", | |
| "tests", | |
| "conversions" | |
| ] | |
| required_files = [ | |
| "src/api/main.py", | |
| "src/api/app.py", | |
| "src/utils/config.py", | |
| "src/utils/converter.py", | |
| "src/utils/file_handler.py", | |
| "tests/test_converter.py", | |
| "Dockerfile", | |
| "docker-compose.yml", | |
| "requirements.txt", | |
| "README.md" | |
| ] | |
| # Check directories | |
| for dir_path in required_dirs: | |
| if not os.path.exists(dir_path): | |
| print(f"❌ Missing directory: {dir_path}") | |
| return False | |
| print(f"✅ Found directory: {dir_path}") | |
| # Check files | |
| for file_path in required_files: | |
| if not os.path.exists(file_path): | |
| print(f"❌ Missing file: {file_path}") | |
| return False | |
| print(f"✅ Found file: {file_path}") | |
| return True | |
| def verify_python_compilation(): | |
| """Verify that all Python files compile without syntax errors""" | |
| print("\nVerifying Python compilation...") | |
| python_files = [ | |
| "src/api/main.py", | |
| "src/api/app.py", | |
| "src/utils/config.py", | |
| "src/utils/converter.py", | |
| "src/utils/file_handler.py", | |
| "tests/test_converter.py" | |
| ] | |
| for file_path in python_files: | |
| try: | |
| with open(file_path, 'r', encoding='utf-8') as f: | |
| compile(f.read(), file_path, 'exec') | |
| print(f"✅ Compiles successfully: {file_path}") | |
| except Exception as e: | |
| print(f"❌ Compilation error in {file_path}: {e}") | |
| return False | |
| return True | |
| def verify_docker_files(): | |
| """Verify Docker configuration files""" | |
| print("\nVerifying Docker configuration...") | |
| # Check if Dockerfile exists and is readable | |
| try: | |
| with open("Dockerfile", "r") as f: | |
| content = f.read() | |
| if "FROM ubuntu:22.04" in content and "libreoffice" in content: | |
| print("✅ Dockerfile appears to be correctly configured") | |
| else: | |
| print("⚠️ Dockerfile may be missing key components") | |
| except Exception as e: | |
| print(f"❌ Error reading Dockerfile: {e}") | |
| return False | |
| # Check if docker-compose.yml exists and is readable | |
| try: | |
| with open("docker-compose.yml", "r") as f: | |
| content = f.read() | |
| if "docx-to-pdf-enhanced" in content and "8000:8000" in content: | |
| print("✅ docker-compose.yml appears to be correctly configured") | |
| else: | |
| print("⚠️ docker-compose.yml may be missing key components") | |
| except Exception as e: | |
| print(f"❌ Error reading docker-compose.yml: {e}") | |
| return False | |
| return True | |
| def verify_requirements(): | |
| """Verify requirements file""" | |
| print("\nVerifying requirements...") | |
| try: | |
| with open("requirements.txt", "r") as f: | |
| content = f.read() | |
| required_packages = ["fastapi", "uvicorn", "python-multipart"] | |
| for package in required_packages: | |
| if package in content: | |
| print(f"✅ Found required package: {package}") | |
| else: | |
| print(f"❌ Missing required package: {package}") | |
| return False | |
| print("✅ All required packages found in requirements.txt") | |
| return True | |
| except Exception as e: | |
| print(f"❌ Error reading requirements.txt: {e}") | |
| return False | |
| def main(): | |
| """Main verification function""" | |
| print("Enhanced DOCX to PDF Converter - Setup Verification") | |
| print("=" * 50) | |
| # Run all verification checks | |
| checks = [ | |
| verify_directory_structure, | |
| verify_python_compilation, | |
| verify_docker_files, | |
| verify_requirements | |
| ] | |
| all_passed = True | |
| for check in checks: | |
| if not check(): | |
| all_passed = False | |
| print("\n" + "=" * 50) | |
| if all_passed: | |
| print("✅ All verification checks passed!") | |
| print("\nYour Enhanced DOCX to PDF Converter is ready for use.") | |
| print("To start the service, run:") | |
| print(" docker-compose up --build") | |
| print("\nThen access the API at http://localhost:8000") | |
| print("API documentation is available at http://localhost:8000/docs") | |
| else: | |
| print("❌ Some verification checks failed.") | |
| print("Please review the errors above and correct them before proceeding.") | |
| return all_passed | |
| if __name__ == "__main__": | |
| success = main() | |
| sys.exit(0 if success else 1) |