119 lines
3.3 KiB
Python
Executable File
119 lines
3.3 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
"""Test push notification with image thumbnail attachment"""
|
|
|
|
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', {})
|
|
|
|
# Create notifier
|
|
notifier = PushoverNotifier(
|
|
user_key=pushover_config.get('user_key'),
|
|
api_token=pushover_config.get('api_token'),
|
|
enabled=True
|
|
)
|
|
|
|
# Test 1: Instagram with multiple images
|
|
print("=" * 60)
|
|
print("Test 1: Instagram Notification with Thumbnail")
|
|
print("=" * 60)
|
|
|
|
# Find some actual images for testing
|
|
instagram_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",
|
|
"/opt/immich/md/forums/PicturePub/Teri Hatcher & Eva Longoria - Desperate Housewives S08E14_ Get Out of My Life 2012, 80x/638100577_rere-191.jpg"
|
|
]
|
|
|
|
# Simulate Instagram download - mixed content
|
|
downloads = []
|
|
|
|
# Add 5 posts
|
|
for i in range(5):
|
|
downloads.append({
|
|
'source': 'evalongoria',
|
|
'content_type': 'post',
|
|
'filename': f'post_{i}.jpg',
|
|
'file_path': instagram_images[i % len(instagram_images)] # Use actual images
|
|
})
|
|
|
|
# Add 3 stories
|
|
for i in range(3):
|
|
downloads.append({
|
|
'source': 'evalongoria',
|
|
'content_type': 'story',
|
|
'filename': f'story_{i}.jpg',
|
|
'file_path': instagram_images[i % len(instagram_images)]
|
|
})
|
|
|
|
# Add 2 reels
|
|
for i in range(2):
|
|
downloads.append({
|
|
'source': 'evalongoria',
|
|
'content_type': 'reel',
|
|
'filename': f'reel_{i}.mp4',
|
|
'file_path': None # Videos won't be selected as thumbnails
|
|
})
|
|
|
|
print(f"Sending Instagram notification with thumbnail...")
|
|
print(f" - 5 posts + 3 stories + 2 reels = 10 items")
|
|
print(f" - Random thumbnail will be selected from images")
|
|
print()
|
|
|
|
success = notifier.notify_batch_download(
|
|
platform='instagram',
|
|
downloads=downloads,
|
|
search_term=None
|
|
)
|
|
|
|
print(f"{'✅' if success else '❌'} Instagram notification sent: {success}")
|
|
print()
|
|
|
|
# Test 2: Forum notification with thumbnail
|
|
print("=" * 60)
|
|
print("Test 2: Forum Notification with Thumbnail")
|
|
print("=" * 60)
|
|
|
|
forum_downloads = []
|
|
for i, img_path in enumerate(instagram_images):
|
|
forum_downloads.append({
|
|
'source': 'HQCelebCorner',
|
|
'content_type': 'image',
|
|
'filename': Path(img_path).name,
|
|
'file_path': img_path
|
|
})
|
|
|
|
print(f"Sending forum notification with thumbnail...")
|
|
print(f" - {len(forum_downloads)} images")
|
|
print(f" - Search term: Eva Longoria")
|
|
print()
|
|
|
|
success = notifier.notify_batch_download(
|
|
platform='forum',
|
|
downloads=forum_downloads,
|
|
search_term='Eva Longoria'
|
|
)
|
|
|
|
print(f"{'✅' if success else '❌'} Forum notification sent: {success}")
|
|
print()
|
|
|
|
# Show stats
|
|
print("=" * 60)
|
|
print(f"Notification Stats: {notifier.get_stats()}")
|
|
print("=" * 60)
|
|
print()
|
|
print("Check your Pushover app for notifications with thumbnails!")
|