feat: Introduce scheduled background scanning, old folder cleanup, and optimize metadata fetching with updated Docker configuration and API tests.
This commit is contained in:
parent
1ecb31ae12
commit
94f077944b
4 changed files with 207 additions and 26 deletions
62
test_api.py
Normal file
62
test_api.py
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
import requests
|
||||
import os
|
||||
import json
|
||||
|
||||
# Manually load .env
|
||||
try:
|
||||
with open('.env', 'r') as f:
|
||||
for line in f:
|
||||
line = line.strip()
|
||||
if line and not line.startswith('#'):
|
||||
key, value = line.split('=', 1)
|
||||
os.environ[key] = value
|
||||
except FileNotFoundError:
|
||||
print("Warning: .env file not found")
|
||||
|
||||
API_URL = os.getenv("API_URL")
|
||||
API_TOKEN = os.getenv("API_TOKEN")
|
||||
|
||||
headers = {"Authorization": f"Token {API_TOKEN}"}
|
||||
|
||||
print(f"Testing API at: {API_URL}")
|
||||
|
||||
def test_endpoint(path):
|
||||
url = f"{API_URL}{path}"
|
||||
print(f"\n--- Testing {url} ---")
|
||||
try:
|
||||
response = requests.get(url, headers=headers, timeout=5)
|
||||
print(f"Status Code: {response.status_code}")
|
||||
try:
|
||||
data = response.json()
|
||||
print("Response JSON (truncated):")
|
||||
print(json.dumps(data, indent=2)[:500] + "..." if len(str(data)) > 500 else json.dumps(data, indent=2))
|
||||
return data
|
||||
except json.JSONDecodeError:
|
||||
print("Response is not JSON")
|
||||
print(response.text[:200])
|
||||
return None
|
||||
except Exception as e:
|
||||
print(f"Error: {e}")
|
||||
return None
|
||||
|
||||
# Test Root API
|
||||
test_endpoint("")
|
||||
|
||||
# Test Search Parameters
|
||||
target_id = "K1Uw_YVgCBsww"
|
||||
print(f"\n--- Testing Search Params for {target_id} ---")
|
||||
|
||||
# Test Page Size
|
||||
print(f"\n--- Testing Page Size ---")
|
||||
|
||||
sizes = [12, 50, 100]
|
||||
|
||||
for size in sizes:
|
||||
url = f"/video/?page_size={size}"
|
||||
print(f"Testing {url}...")
|
||||
data = test_endpoint(url)
|
||||
if data and isinstance(data, dict) and 'data' in data:
|
||||
count = len(data['data'])
|
||||
print(f"Requested {size}, got {count} items.")
|
||||
if 'paginate' in data:
|
||||
print(f"Pagination meta: {data['paginate']}")
|
||||
Loading…
Add table
Add a link
Reference in a new issue