updates
This commit is contained in:
69
Backend/scripts/check_dependencies.py
Executable file
69
Backend/scripts/check_dependencies.py
Executable file
@@ -0,0 +1,69 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Check for required system dependencies for the Hotel Booking platform.
|
||||
"""
|
||||
import subprocess
|
||||
import shutil
|
||||
import sys
|
||||
import platform
|
||||
|
||||
def check_command(command, name, install_instructions):
|
||||
"""Check if a command is available."""
|
||||
if shutil.which(command):
|
||||
version_output = subprocess.run(
|
||||
[command, '--version'],
|
||||
capture_output=True,
|
||||
text=True,
|
||||
timeout=5
|
||||
)
|
||||
version = version_output.stdout.split('\n')[0] if version_output.returncode == 0 else 'installed'
|
||||
print(f"✓ {name}: {version}")
|
||||
return True
|
||||
else:
|
||||
print(f"✗ {name}: NOT FOUND")
|
||||
print(f" Installation: {install_instructions}")
|
||||
return False
|
||||
|
||||
def main():
|
||||
"""Check all dependencies."""
|
||||
print("=" * 60)
|
||||
print("Checking System Dependencies")
|
||||
print("=" * 60)
|
||||
print()
|
||||
|
||||
all_ok = True
|
||||
|
||||
# Check mysqldump
|
||||
os_type = platform.system().lower()
|
||||
if os_type == 'linux':
|
||||
distro = platform.linux_distribution()[0].lower() if hasattr(platform, 'linux_distribution') else 'unknown'
|
||||
if 'ubuntu' in distro or 'debian' in distro:
|
||||
install_cmd = "sudo apt-get install mysql-client"
|
||||
elif 'centos' in distro or 'rhel' in distro or 'fedora' in distro:
|
||||
install_cmd = "sudo yum install mysql (or sudo dnf install mysql)"
|
||||
else:
|
||||
install_cmd = "Install MySQL client tools for your distribution"
|
||||
elif os_type == 'darwin':
|
||||
install_cmd = "brew install mysql-client"
|
||||
else:
|
||||
install_cmd = "Install MySQL client tools for your OS"
|
||||
|
||||
if not check_command('mysqldump', 'mysqldump (MySQL client)', install_cmd):
|
||||
all_ok = False
|
||||
|
||||
print()
|
||||
print("=" * 60)
|
||||
|
||||
if all_ok:
|
||||
print("✓ All dependencies are installed!")
|
||||
return 0
|
||||
else:
|
||||
print("✗ Some dependencies are missing.")
|
||||
print()
|
||||
print("You can install mysqldump using the provided script:")
|
||||
print(" bash scripts/install_mysqldump.sh")
|
||||
return 1
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main())
|
||||
|
||||
Reference in New Issue
Block a user