Files
ObsidianAI/test_connection.py

72 lines
2.2 KiB
Python
Raw Normal View History

2026-01-03 10:23:05 -06:00
#!/usr/bin/env python3
"""
Quick test to verify CouchDB connection and show available files
"""
import couchdb
from urllib.parse import quote
# Configuration
USER = "admin"
PASSWORD = "DonCucarach0!?"
IP_ADDRESS = "100.100.112.48"
PORT = "5984"
DB_NAME = "obsidiandb"
def test_connection():
print("Testing CouchDB Connection...")
print(f"URL: http://{IP_ADDRESS}:{PORT}/")
print(f"Database: {DB_NAME}")
print("-" * 60)
try:
# Build URL with credentials
safe_password = quote(PASSWORD, safe="")
safe_username = quote(USER, safe="")
url = f"http://{safe_username}:{safe_password}@{IP_ADDRESS}:{PORT}/"
# Connect
server = couchdb.Server(url)
print(f"✅ Server Version: {server.version()}")
# List databases
dbs = list(server)
print(f"✅ Available Databases: {dbs}")
# Check if our database exists
if DB_NAME not in dbs:
print(f"❌ Database '{DB_NAME}' not found!")
return False
# Connect to database
db = server[DB_NAME]
info = db.info()
print(f"✅ Database '{DB_NAME}' found")
print(f" - Document Count: {info['doc_count']}")
print(f" - Update Sequence: {info['update_seq']}")
# List some files
print("\n📁 Sample Files:")
count = 0
for row in db.view('_all_docs', include_docs=True, limit=10):
doc = row.doc
if "children" in doc and isinstance(doc.get("children"), list):
path = doc.get("path", doc["_id"])
num_chunks = len(doc["children"])
print(f" - {path} ({num_chunks} chunks)")
count += 1
if count == 0:
print(" ⚠️ No file metadata documents found (showing first 10 docs)")
for row in db.view('_all_docs', limit=10):
print(f" - {row.id}")
print("\n✅ Connection test successful!")
return True
except Exception as e:
print(f"❌ Connection failed: {e}")
return False
if __name__ == "__main__":
test_connection()