118 lines
3.1 KiB
Python
Executable File
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())
|