123 lines
2.9 KiB
Python
123 lines
2.9 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
Create and verify the backend directory structure for Firefly Reports.
|
|
|
|
This script creates the following structure:
|
|
backend/
|
|
└── app/
|
|
├── routers/
|
|
├── clients/
|
|
└── services/
|
|
"""
|
|
|
|
import os
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
|
|
def create_directories():
|
|
"""Create all required directories."""
|
|
base_path = Path(r'C:\Users\Nabeel\Nextcloud\Projects\firefly_reports\backend')
|
|
|
|
directories = [
|
|
base_path,
|
|
base_path / 'app',
|
|
base_path / 'app' / 'routers',
|
|
base_path / 'app' / 'clients',
|
|
base_path / 'app' / 'services',
|
|
]
|
|
|
|
print("=" * 80)
|
|
print("CREATING BACKEND DIRECTORY STRUCTURE")
|
|
print("=" * 80)
|
|
print()
|
|
|
|
created_count = 0
|
|
for directory in directories:
|
|
try:
|
|
directory.mkdir(parents=True, exist_ok=True)
|
|
print(f"✓ Created: {directory}")
|
|
created_count += 1
|
|
except Exception as e:
|
|
print(f"✗ Failed to create {directory}: {e}")
|
|
return False
|
|
|
|
print()
|
|
print(f"Created {created_count} directories successfully")
|
|
return True
|
|
|
|
|
|
def verify_directories():
|
|
"""Verify that all directories exist."""
|
|
base_path = Path(r'C:\Users\Nabeel\Nextcloud\Projects\firefly_reports\backend')
|
|
|
|
directories = [
|
|
base_path,
|
|
base_path / 'app',
|
|
base_path / 'app' / 'routers',
|
|
base_path / 'app' / 'clients',
|
|
base_path / 'app' / 'services',
|
|
]
|
|
|
|
print()
|
|
print("=" * 80)
|
|
print("VERIFYING DIRECTORY STRUCTURE")
|
|
print("=" * 80)
|
|
print()
|
|
|
|
all_exist = True
|
|
for directory in directories:
|
|
if directory.is_dir():
|
|
print(f"✓ OK : {directory}")
|
|
else:
|
|
print(f"✗ FAIL: {directory} (NOT FOUND)")
|
|
all_exist = False
|
|
|
|
print()
|
|
if all_exist:
|
|
print("=" * 80)
|
|
print("✓ SUCCESS: All directories verified successfully!")
|
|
print("=" * 80)
|
|
else:
|
|
print("=" * 80)
|
|
print("✗ FAILURE: Some directories are missing")
|
|
print("=" * 80)
|
|
|
|
return all_exist
|
|
|
|
|
|
def display_structure():
|
|
"""Display the final directory structure."""
|
|
print()
|
|
print("Final Directory Structure:")
|
|
print("─" * 80)
|
|
print("backend/")
|
|
print("└── app/")
|
|
print(" ├── routers/")
|
|
print(" ├── clients/")
|
|
print(" └── services/")
|
|
print("─" * 80)
|
|
|
|
|
|
def main():
|
|
"""Main entry point."""
|
|
print()
|
|
|
|
# Create directories
|
|
if not create_directories():
|
|
return 1
|
|
|
|
# Verify directories
|
|
if not verify_directories():
|
|
return 1
|
|
|
|
# Display structure
|
|
display_structure()
|
|
|
|
return 0
|
|
|
|
|
|
if __name__ == '__main__':
|
|
exit_code = main()
|
|
sys.exit(exit_code)
|