Big-Link-Man/scripts/search_domains.py

67 lines
2.1 KiB
Python

"""
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()