#!/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())