Big-Link-Man/scripts/list_sites_by_id.py

58 lines
1.8 KiB
Python

"""
List sites around specific IDs to see what exists
"""
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).parent.parent))
from src.database.session import db_manager
from src.database.models import SiteDeployment
def list_sites_around_ids(target_ids):
"""List sites around the target IDs"""
db_manager.initialize()
session = db_manager.get_session()
try:
# Get the min and max IDs to check
min_id = min(target_ids) - 5
max_id = max(target_ids) + 5
sites = session.query(SiteDeployment).filter(
SiteDeployment.id >= min_id,
SiteDeployment.id <= max_id
).order_by(SiteDeployment.id).all()
print(f"\nSites with IDs between {min_id} and {max_id}:")
print(f"{'ID':<5} {'Site Name':<35} {'Hostname':<40} {'Storage':<10}")
print("-" * 100)
for site in sites:
hostname = site.custom_hostname or site.pull_zone_bcdn_hostname
print(f"{site.id:<5} {site.site_name:<35} {hostname:<40} {site.storage_provider:<10}")
print(f"\nTotal: {len(sites)} sites")
# Check specifically for the target IDs
print(f"\nChecking target IDs: {target_ids}")
for site_id in target_ids:
site = session.query(SiteDeployment).filter(SiteDeployment.id == site_id).first()
if site:
print(f" Site {site_id}: EXISTS - {site.site_name}")
else:
print(f" Site {site_id}: NOT FOUND")
except Exception as e:
print(f"Error: {e}")
import traceback
traceback.print_exc()
finally:
session.close()
if __name__ == "__main__":
target_ids = [568, 569, 570]
list_sites_around_ids(target_ids)