""" Search for domains in various formats """ 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 search_domains(): """Search for domains""" db_manager.initialize() session = db_manager.get_session() search_terms = [ "fractuslearning", "rocktumbler", "theteacher" ] try: print("\nSearching for sites containing these terms:\n") for term in search_terms: sites = session.query(SiteDeployment).filter( (SiteDeployment.custom_hostname.contains(term)) | (SiteDeployment.s3_custom_domain.contains(term)) | (SiteDeployment.site_name.contains(term)) | (SiteDeployment.s3_bucket_name.contains(term)) ).all() if sites: print(f"Found {len(sites)} site(s) containing '{term}':") for site in sites: print(f" Site ID: {site.id}") print(f" Site Name: {site.site_name}") print(f" Custom Hostname: {site.custom_hostname}") print(f" S3 Bucket Name: {site.s3_bucket_name}") print(f" S3 Custom Domain: {site.s3_custom_domain}") print() else: print(f"No sites found containing '{term}'\n") # Also check all S3 sites with custom domains print("\nAll S3 sites with custom domains:") all_s3_fqdn = session.query(SiteDeployment).filter( SiteDeployment.storage_provider.in_(['s3', 's3_compatible']), SiteDeployment.s3_custom_domain.isnot(None) ).all() for site in all_s3_fqdn: print(f" ID {site.id}: {site.s3_bucket_name} -> {site.s3_custom_domain}") except Exception as e: print(f"Error: {e}") import traceback traceback.print_exc() finally: session.close() if __name__ == "__main__": search_domains()