Files
media-downloader/tests/test_image_setting.py
Todd 0d7b2b1aab Initial commit
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-29 22:42:55 -04:00

115 lines
3.2 KiB
Python
Executable File

#!/usr/bin/env python3
"""Test image attachment setting (enable/disable)"""
import sys
import json
from pathlib import Path
sys.path.insert(0, str(Path(__file__).parent))
sys.path.insert(0, str(Path(__file__).parent / 'modules'))
from modules.pushover_notifier import PushoverNotifier
def load_config():
config_path = Path(__file__).parent / 'config' / 'settings.json'
with open(config_path, 'r') as f:
return json.load(f)
# Load config
config = load_config()
pushover_config = config.get('pushover', {})
# Test images
test_images = [
"/opt/immich/md/forums/PicturePub/Teri Hatcher & Eva Longoria - Desperate Housewives S08E14_ Get Out of My Life 2012, 80x/638100294_rere-12.jpg",
"/opt/immich/md/forums/PicturePub/Teri Hatcher & Eva Longoria - Desperate Housewives S08E14_ Get Out of My Life 2012, 80x/638100582_rere-194.jpg"
]
# Prepare test downloads
downloads = []
for i in range(3):
downloads.append({
'source': 'evalongoria',
'content_type': 'post',
'filename': f'post_{i}.jpg',
'file_path': test_images[i % len(test_images)]
})
print("=" * 60)
print("Test 1: Image Thumbnails ENABLED")
print("=" * 60)
# Create notifier with images enabled
notifier1 = PushoverNotifier(
user_key=pushover_config.get('user_key'),
api_token=pushover_config.get('api_token'),
enabled=True,
include_image=True # ENABLED
)
print("Sending notification WITH image attachment...")
success1 = notifier1.notify_batch_download(
platform='instagram',
downloads=downloads,
search_term=None
)
print(f"{'' if success1 else ''} Notification sent (with image): {success1}")
print()
print("=" * 60)
print("Test 2: Image Thumbnails DISABLED")
print("=" * 60)
# Create notifier with images disabled
notifier2 = PushoverNotifier(
user_key=pushover_config.get('user_key'),
api_token=pushover_config.get('api_token'),
enabled=True,
include_image=False # DISABLED
)
print("Sending notification WITHOUT image attachment...")
success2 = notifier2.notify_batch_download(
platform='instagram',
downloads=downloads,
search_term=None
)
print(f"{'' if success2 else ''} Notification sent (without image): {success2}")
print()
print("=" * 60)
print("Test 3: Loading from Config File")
print("=" * 60)
from modules.pushover_notifier import create_notifier_from_config
notifier3 = create_notifier_from_config(config)
if notifier3:
print(f"Notifier created from config")
print(f" - include_image setting: {notifier3.include_image}")
print(f" - Current config value: {pushover_config.get('include_image', True)}")
print()
print("Sending notification using config setting...")
success3 = notifier3.notify_batch_download(
platform='instagram',
downloads=downloads,
search_term=None
)
print(f"{'' if success3 else ''} Notification sent: {success3}")
else:
print("❌ Failed to create notifier from config")
print()
print("=" * 60)
print("Check your Pushover app!")
print("You should see:")
print(" 1. First notification WITH thumbnail")
print(" 2. Second notification WITHOUT thumbnail")
print(" 3. Third notification based on config setting")
print("=" * 60)