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

118 lines
3.1 KiB
Python
Executable File

#!/usr/bin/env python3
"""
Test All Notification Types
Shows examples of all different notification formats
"""
import sys
import json
from pathlib import Path
from datetime import datetime
# Add modules to 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():
"""Load configuration from settings.json"""
config_path = Path(__file__).parent / 'config' / 'settings.json'
with open(config_path, 'r') as f:
return json.load(f)
def main():
print("Testing All Pushover Notification Formats...")
print("=" * 60)
# 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,
default_priority=0
)
tests = [
{
'name': 'Single Story',
'params': {
'platform': 'instagram',
'source': 'evalongoria',
'content_type': 'story',
'count': 1
}
},
{
'name': 'Multiple Stories',
'params': {
'platform': 'instagram',
'source': 'evalongoria',
'content_type': 'story',
'count': 5
}
},
{
'name': 'Multiple Posts with Search',
'params': {
'platform': 'instagram',
'source': 'beautybyelan',
'content_type': 'post',
'count': 3,
'search_term': '@evalongoria, eva longoria'
}
},
{
'name': 'Multiple Reels',
'params': {
'platform': 'instagram',
'source': 'evalongoria',
'content_type': 'reel',
'count': 7
}
},
{
'name': 'TikTok Videos',
'params': {
'platform': 'tiktok',
'source': 'evalongoria',
'content_type': 'video',
'count': 4
}
},
{
'name': 'Forum Images',
'params': {
'platform': 'forum',
'source': 'HQCelebCorner',
'content_type': 'image',
'count': 42,
'search_term': 'Eva Longoria'
}
}
]
print("\nSending test notifications...\n")
for i, test in enumerate(tests, 1):
print(f"{i}. {test['name']}...", end=' ')
success = notifier.notify_download(**test['params'])
print("" if success else "")
# Small delay between notifications
import time
time.sleep(1)
print(f"\n{'=' * 60}")
print(f"Final Stats: {notifier.get_stats()}")
print(f"\nCheck your Pushover app for {len(tests)} notifications!")
return 0
if __name__ == '__main__':
sys.exit(main())