diff --git a/src/Resurse/app_config.txt b/src/Resurse/app_config.txt index 1191f88..f6e5ff7 100644 --- a/src/Resurse/app_config.txt +++ b/src/Resurse/app_config.txt @@ -1,10 +1,10 @@ { "screen_orientation": "Landscape", - "screen_name": "rpi-tv11", + "screen_name": "tv-terasa", "quickconnect_key": "8887779", - "server_ip": "192.168.1.74", - "port": "5000", + "server_ip": "digi-signage.moto-adv.com", + "port": "80", "screen_w": "1920", "screen_h": "1080", - "playlist_version": 6 + "playlist_version": 2 } \ No newline at end of file diff --git a/src/Resurse/log.txt b/src/Resurse/log.txt index 0ada227..4c14a8c 100644 --- a/src/Resurse/log.txt +++ b/src/Resurse/log.txt @@ -1,6 +1,559 @@ -2025-06-24 16:02:45 - STARTED: 123.jpeg -2025-06-24 16:04:27 - STARTED: 123.jpeg -2025-06-24 16:05:01 - STARTED: 123.jpeg -2025-06-24 16:08:00 - STARTED: 123.jpeg -2025-06-24 16:09:01 - STARTED: 123.jpeg -2025-06-24 16:09:31 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] python_functions: Starting load_config function. +[INFO] [SignageApp] python_functions: Configuration file loaded successfully. +[INFO] [SignageApp] python_functions: Configuration loaded: server=192.168.1.74, host=rpi-tv11, quick=8887779, port=5000 +[INFO] [SignageApp] Screen size set to 1920x1080 +[INFO] [SignageApp] MediaPlayer: Starting on_enter method. +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] MediaPlayer: Loaded local playlist: [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], Version: 6 +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-24 16:22:50 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-24 16:22:50 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] MediaPlayer: Finished on_enter method. +[INFO] [SignageApp] SettingsScreen: Log messages loaded successfully. +[INFO] [SignageApp] SettingsScreen: Configuration saved. +[INFO] [SignageApp] MediaPlayer: Starting on_enter method. +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] MediaPlayer: Loaded local playlist: [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], Version: 6 +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-24 16:23:01 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-24 16:23:01 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] MediaPlayer: Finished on_enter method. +[INFO] [SignageApp] SettingsScreen: Log messages loaded successfully. +[INFO] [SignageApp] Password correct. Exiting app. +[INFO] [SignageApp] python_functions: Starting load_config function. +[INFO] [SignageApp] python_functions: Configuration file loaded successfully. +[INFO] [SignageApp] python_functions: Configuration loaded: server=192.168.1.74, host=rpi-tv11, quick=8887779, port=5000 +[INFO] [SignageApp] Screen size set to 1920x1080 +[INFO] [SignageApp] MediaPlayer: Starting on_enter method. +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] MediaPlayer: Loaded local playlist: [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], Version: 6 +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:05:04 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:05:04 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] MediaPlayer: Finished on_enter method. +[INFO] [SignageApp] SettingsScreen: Log messages loaded successfully. +[INFO] [SignageApp] Navigating to the next media. +[INFO] [SignageApp] Canceling image timer. +[INFO] [SignageApp] End of playlist reached. Checking for updates... +[INFO] [SignageApp] Fetching playlist from URL: http://192.168.1.74:5000/api/playlists with params: {'hostname': 'rpi-tv11', 'quickconnect_code': '8887779'} +[ERROR] [SignageApp] Failed to fetch playlist: HTTPConnectionPool(host='192.168.1.74', port=5000): Max retries exceeded with url: /api/playlists?hostname=rpi-tv11&quickconnect_code=8887779 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] Playlist versions match. No update needed. +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:05:24 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:05:24 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] Navigating to the next media. +[INFO] [SignageApp] Canceling image timer. +[INFO] [SignageApp] End of playlist reached. Checking for updates... +[INFO] [SignageApp] Fetching playlist from URL: http://192.168.1.74:5000/api/playlists with params: {'hostname': 'rpi-tv11', 'quickconnect_code': '8887779'} +[ERROR] [SignageApp] Failed to fetch playlist: HTTPConnectionPool(host='192.168.1.74', port=5000): Max retries exceeded with url: /api/playlists?hostname=rpi-tv11&quickconnect_code=8887779 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] Playlist versions match. No update needed. +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:05:44 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:05:44 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] Navigating to the next media. +[INFO] [SignageApp] Canceling image timer. +[INFO] [SignageApp] End of playlist reached. Checking for updates... +[INFO] [SignageApp] Fetching playlist from URL: http://192.168.1.74:5000/api/playlists with params: {'hostname': 'rpi-tv11', 'quickconnect_code': '8887779'} +[ERROR] [SignageApp] Failed to fetch playlist: HTTPConnectionPool(host='192.168.1.74', port=5000): Max retries exceeded with url: /api/playlists?hostname=rpi-tv11&quickconnect_code=8887779 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] Playlist versions match. No update needed. +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:06:04 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:06:04 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] Navigating to the next media. +[INFO] [SignageApp] Canceling image timer. +[INFO] [SignageApp] End of playlist reached. Checking for updates... +[INFO] [SignageApp] Fetching playlist from URL: http://192.168.1.74:5000/api/playlists with params: {'hostname': 'rpi-tv11', 'quickconnect_code': '8887779'} +[ERROR] [SignageApp] Failed to fetch playlist: HTTPConnectionPool(host='192.168.1.74', port=5000): Max retries exceeded with url: /api/playlists?hostname=rpi-tv11&quickconnect_code=8887779 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] Playlist versions match. No update needed. +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:06:24 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:06:24 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] Navigating to the next media. +[INFO] [SignageApp] Canceling image timer. +[INFO] [SignageApp] End of playlist reached. Checking for updates... +[INFO] [SignageApp] Fetching playlist from URL: http://192.168.1.74:5000/api/playlists with params: {'hostname': 'rpi-tv11', 'quickconnect_code': '8887779'} +[ERROR] [SignageApp] Failed to fetch playlist: HTTPConnectionPool(host='192.168.1.74', port=5000): Max retries exceeded with url: /api/playlists?hostname=rpi-tv11&quickconnect_code=8887779 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] Playlist versions match. No update needed. +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:06:44 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:06:44 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] Navigating to the next media. +[INFO] [SignageApp] Canceling image timer. +[INFO] [SignageApp] End of playlist reached. Checking for updates... +[INFO] [SignageApp] Fetching playlist from URL: http://192.168.1.74:5000/api/playlists with params: {'hostname': 'rpi-tv11', 'quickconnect_code': '8887779'} +[ERROR] [SignageApp] Failed to fetch playlist: HTTPConnectionPool(host='192.168.1.74', port=5000): Max retries exceeded with url: /api/playlists?hostname=rpi-tv11&quickconnect_code=8887779 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] Playlist versions match. No update needed. +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:07:04 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:07:04 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] Navigating to the next media. +[INFO] [SignageApp] Canceling image timer. +[INFO] [SignageApp] End of playlist reached. Checking for updates... +[INFO] [SignageApp] Fetching playlist from URL: http://192.168.1.74:5000/api/playlists with params: {'hostname': 'rpi-tv11', 'quickconnect_code': '8887779'} +[ERROR] [SignageApp] Failed to fetch playlist: HTTPConnectionPool(host='192.168.1.74', port=5000): Max retries exceeded with url: /api/playlists?hostname=rpi-tv11&quickconnect_code=8887779 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] Playlist versions match. No update needed. +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:07:24 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:07:24 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] SettingsScreen: Testing connection to server... +[INFO] [SignageApp] SettingsScreen: Sending request to http://192.168.1.74:5000/api/playlists with params: {'hostname': 'rpi-tv11', 'quickconnect_code': '8887779'}... +[ERROR] [SignageApp] SettingsScreen: Error connecting to server: HTTPConnectionPool(host='192.168.1.74', port=5000): Max retries exceeded with url: /api/playlists?hostname=rpi-tv11&quickconnect_code=8887779 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) +[INFO] [SignageApp] Navigating to the next media. +[INFO] [SignageApp] Canceling image timer. +[INFO] [SignageApp] End of playlist reached. Checking for updates... +[INFO] [SignageApp] Fetching playlist from URL: http://192.168.1.74:5000/api/playlists with params: {'hostname': 'rpi-tv11', 'quickconnect_code': '8887779'} +[ERROR] [SignageApp] Failed to fetch playlist: HTTPConnectionPool(host='192.168.1.74', port=5000): Max retries exceeded with url: /api/playlists?hostname=rpi-tv11&quickconnect_code=8887779 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] Playlist versions match. No update needed. +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:07:44 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:07:44 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] Navigating to the next media. +[INFO] [SignageApp] Canceling image timer. +[INFO] [SignageApp] End of playlist reached. Checking for updates... +[INFO] [SignageApp] Fetching playlist from URL: http://192.168.1.74:5000/api/playlists with params: {'hostname': 'rpi-tv11', 'quickconnect_code': '8887779'} +[ERROR] [SignageApp] Failed to fetch playlist: HTTPConnectionPool(host='192.168.1.74', port=5000): Max retries exceeded with url: /api/playlists?hostname=rpi-tv11&quickconnect_code=8887779 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] Playlist versions match. No update needed. +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:08:04 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:08:04 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] SettingsScreen: Testing connection to server... +[INFO] [SignageApp] SettingsScreen: Sending request to http://192.168.1.74:5000/api/playlists with params: {'hostname': 'rpi-tv11', 'quickconnect_code': '8887779'}... +[ERROR] [SignageApp] SettingsScreen: Error connecting to server: HTTPConnectionPool(host='192.168.1.74', port=5000): Max retries exceeded with url: /api/playlists?hostname=rpi-tv11&quickconnect_code=8887779 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) +[INFO] [SignageApp] SettingsScreen: Testing connection to server... +[INFO] [SignageApp] SettingsScreen: Sending request to http://192.168.1.74:5000/api/playlists with params: {'hostname': 'rpi-tv11', 'quickconnect_code': '8887779'}... +[ERROR] [SignageApp] SettingsScreen: Error connecting to server: HTTPConnectionPool(host='192.168.1.74', port=5000): Max retries exceeded with url: /api/playlists?hostname=rpi-tv11&quickconnect_code=8887779 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) +[INFO] [SignageApp] Navigating to the next media. +[INFO] [SignageApp] Canceling image timer. +[INFO] [SignageApp] End of playlist reached. Checking for updates... +[INFO] [SignageApp] Fetching playlist from URL: http://192.168.1.74:5000/api/playlists with params: {'hostname': 'rpi-tv11', 'quickconnect_code': '8887779'} +[ERROR] [SignageApp] Failed to fetch playlist: HTTPConnectionPool(host='192.168.1.74', port=5000): Max retries exceeded with url: /api/playlists?hostname=rpi-tv11&quickconnect_code=8887779 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] Playlist versions match. No update needed. +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:08:24 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:08:24 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] Password correct. Exiting app. +[INFO] [SignageApp] python_functions: Starting load_config function. +[INFO] [SignageApp] python_functions: Configuration file loaded successfully. +[INFO] [SignageApp] python_functions: Configuration loaded: server=192.168.1.74, host=rpi-tv11, quick=8887779, port=5000 +[INFO] [SignageApp] Screen size set to 1920x1080 +[INFO] [SignageApp] MediaPlayer: Starting on_enter method. +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] MediaPlayer: Loaded local playlist: [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], Version: 6 +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:11:51 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:11:51 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] MediaPlayer: Finished on_enter method. +[INFO] [SignageApp] SettingsScreen: Log messages loaded successfully. +[INFO] [SignageApp] Navigating to the next media. +[INFO] [SignageApp] Canceling image timer. +[INFO] [SignageApp] End of playlist reached. Checking for updates... +[INFO] [SignageApp] Fetching playlist from URL: http://192.168.1.74:5000/api/playlists with params: {'hostname': 'rpi-tv11', 'quickconnect_code': '8887779'} +[ERROR] [SignageApp] Failed to fetch playlist: HTTPConnectionPool(host='192.168.1.74', port=5000): Max retries exceeded with url: /api/playlists?hostname=rpi-tv11&quickconnect_code=8887779 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] Playlist versions match. No update needed. +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:12:11 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:12:11 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] Password correct. Exiting app. +[INFO] [SignageApp] python_functions: Starting load_config function. +[INFO] [SignageApp] python_functions: Configuration file loaded successfully. +[INFO] [SignageApp] python_functions: Configuration loaded: server=192.168.1.74, host=rpi-tv11, quick=8887779, port=5000 +[INFO] [SignageApp] Screen size set to 1920x1080 +[INFO] [SignageApp] MediaPlayer: Starting on_enter method. +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] MediaPlayer: Loaded local playlist: [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], Version: 6 +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:12:23 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:12:23 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] MediaPlayer: Finished on_enter method. +[INFO] [SignageApp] SettingsScreen: Log messages loaded successfully. +[INFO] [SignageApp] Navigating to the next media. +[INFO] [SignageApp] Canceling image timer. +[INFO] [SignageApp] End of playlist reached. Checking for updates... +[INFO] [SignageApp] Fetching playlist from URL: http://192.168.1.74:5000/api/playlists with params: {'hostname': 'rpi-tv11', 'quickconnect_code': '8887779'} +[ERROR] [SignageApp] Failed to fetch playlist: HTTPConnectionPool(host='192.168.1.74', port=5000): Max retries exceeded with url: /api/playlists?hostname=rpi-tv11&quickconnect_code=8887779 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] Playlist versions match. No update needed. +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:12:43 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:12:43 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] Navigating to the next media. +[INFO] [SignageApp] Canceling image timer. +[INFO] [SignageApp] End of playlist reached. Checking for updates... +[INFO] [SignageApp] Fetching playlist from URL: http://192.168.1.74:5000/api/playlists with params: {'hostname': 'rpi-tv11', 'quickconnect_code': '8887779'} +[ERROR] [SignageApp] Failed to fetch playlist: HTTPConnectionPool(host='192.168.1.74', port=5000): Max retries exceeded with url: /api/playlists?hostname=rpi-tv11&quickconnect_code=8887779 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] Playlist versions match. No update needed. +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:13:03 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:13:03 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] SettingsScreen: Configuration saved. +[INFO] [SignageApp] MediaPlayer: Starting on_enter method. +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] MediaPlayer: Loaded local playlist: [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], Version: 6 +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:13:22 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:13:22 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] MediaPlayer: Finished on_enter method. +[INFO] [SignageApp] SettingsScreen: Log messages loaded successfully. +[INFO] [SignageApp] SettingsScreen: Testing connection to server... +[INFO] [SignageApp] SettingsScreen: Sending request to http://digi-signage.moto-adv.com:80/api/playlists with params: {'hostname': 'tv-terasa', 'quickconnect_code': '8887779'}... +[INFO] [SignageApp] SettingsScreen: Server is reachable. +[INFO] [SignageApp] SettingsScreen: Configuration saved. +[INFO] [SignageApp] MediaPlayer: Starting on_enter method. +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] MediaPlayer: Loaded local playlist: [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], Version: 6 +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:13:37 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:13:37 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] MediaPlayer: Finished on_enter method. +[INFO] [SignageApp] Navigating to the next media. +[INFO] [SignageApp] Canceling image timer. +[INFO] [SignageApp] End of playlist reached. Checking for updates... +[INFO] [SignageApp] Fetching playlist from URL: http://192.168.1.74:5000/api/playlists with params: {'hostname': 'rpi-tv11', 'quickconnect_code': '8887779'} +[ERROR] [SignageApp] Failed to fetch playlist: HTTPConnectionPool(host='192.168.1.74', port=5000): Max retries exceeded with url: /api/playlists?hostname=rpi-tv11&quickconnect_code=8887779 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] Playlist versions match. No update needed. +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:13:57 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:13:57 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] Navigating to the next media. +[INFO] [SignageApp] Canceling image timer. +[INFO] [SignageApp] End of playlist reached. Checking for updates... +[INFO] [SignageApp] Fetching playlist from URL: http://192.168.1.74:5000/api/playlists with params: {'hostname': 'rpi-tv11', 'quickconnect_code': '8887779'} +[ERROR] [SignageApp] Failed to fetch playlist: HTTPConnectionPool(host='192.168.1.74', port=5000): Max retries exceeded with url: /api/playlists?hostname=rpi-tv11&quickconnect_code=8887779 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] Playlist versions match. No update needed. +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:14:17 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:14:17 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] Navigating to the next media. +[INFO] [SignageApp] Canceling image timer. +[INFO] [SignageApp] End of playlist reached. Checking for updates... +[INFO] [SignageApp] Fetching playlist from URL: http://192.168.1.74:5000/api/playlists with params: {'hostname': 'rpi-tv11', 'quickconnect_code': '8887779'} +[ERROR] [SignageApp] Failed to fetch playlist: HTTPConnectionPool(host='192.168.1.74', port=5000): Max retries exceeded with url: /api/playlists?hostname=rpi-tv11&quickconnect_code=8887779 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] Playlist versions match. No update needed. +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:14:37 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:14:37 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] Navigating to the next media. +[INFO] [SignageApp] Canceling image timer. +[INFO] [SignageApp] End of playlist reached. Checking for updates... +[INFO] [SignageApp] Fetching playlist from URL: http://192.168.1.74:5000/api/playlists with params: {'hostname': 'rpi-tv11', 'quickconnect_code': '8887779'} +[ERROR] [SignageApp] Failed to fetch playlist: HTTPConnectionPool(host='192.168.1.74', port=5000): Max retries exceeded with url: /api/playlists?hostname=rpi-tv11&quickconnect_code=8887779 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] Playlist versions match. No update needed. +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:14:57 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:14:57 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] Navigating to the next media. +[INFO] [SignageApp] Canceling image timer. +[INFO] [SignageApp] End of playlist reached. Checking for updates... +[INFO] [SignageApp] Fetching playlist from URL: http://192.168.1.74:5000/api/playlists with params: {'hostname': 'rpi-tv11', 'quickconnect_code': '8887779'} +[ERROR] [SignageApp] Failed to fetch playlist: HTTPConnectionPool(host='192.168.1.74', port=5000): Max retries exceeded with url: /api/playlists?hostname=rpi-tv11&quickconnect_code=8887779 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] Playlist versions match. No update needed. +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:15:17 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:15:17 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] Navigating to the next media. +[INFO] [SignageApp] Canceling image timer. +[INFO] [SignageApp] End of playlist reached. Checking for updates... +[INFO] [SignageApp] Fetching playlist from URL: http://192.168.1.74:5000/api/playlists with params: {'hostname': 'rpi-tv11', 'quickconnect_code': '8887779'} +[ERROR] [SignageApp] Failed to fetch playlist: HTTPConnectionPool(host='192.168.1.74', port=5000): Max retries exceeded with url: /api/playlists?hostname=rpi-tv11&quickconnect_code=8887779 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] Playlist versions match. No update needed. +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:15:37 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:15:37 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] SettingsScreen: Log messages loaded successfully. +[INFO] [SignageApp] SettingsScreen: Configuration saved. +[INFO] [SignageApp] MediaPlayer: Starting on_enter method. +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], 'version': 6} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] MediaPlayer: Loaded local playlist: [{'file_name': '20250417_09h25m37s_grim.png', 'url': '/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png', 'duration': 20}], Version: 6 +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:15:55 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:15:55 - STARTED: 20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] MediaPlayer: Finished on_enter method. +[INFO] [SignageApp] SettingsScreen: Log messages loaded successfully. +[INFO] [SignageApp] Password correct. Exiting app. +[INFO] [SignageApp] python_functions: Starting load_config function. +[INFO] [SignageApp] python_functions: Configuration file loaded successfully. +[INFO] [SignageApp] python_functions: Configuration loaded: server=digi-signage.moto-adv.com, host=tv-terasa, quick=8887779, port=80 +[INFO] [SignageApp] Screen size set to 1920x1080 +[INFO] [SignageApp] MediaPlayer: Starting on_enter method. +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[WARNING] [SignageApp] python_functions: Local playlist file not found. +[INFO] [SignageApp] MediaPlayer: Loaded local playlist: [], Version: 0 +[WARNING] [SignageApp] MediaPlayer: No local playlist found. Fetching from server... +[INFO] [SignageApp] Fetching playlist from URL: http://digi-signage.moto-adv.com:80/api/playlists with params: {'hostname': 'tv-terasa', 'quickconnect_code': '8887779'} +[INFO] [SignageApp] Server response: {'hashed_quickconnect': '$2b$12$pBmwfGas1B.vLIadbe9vdecp1ioOW/ZkTK.k8/PcxFm5g0SLoo9nG', 'playlist': [{'duration': 20, 'file_name': 'Ibex_450.jpg', 'url': 'http://digi-signage.moto-adv.com/media/Ibex_450.jpg'}, {'duration': 20, 'file_name': 'cropped-cropped-main-picture-scaled-1.jpeg', 'url': 'http://digi-signage.moto-adv.com/media/cropped-cropped-main-picture-scaled-1.jpeg'}], 'playlist_version': 2} +[INFO] [SignageApp] Fetched updated playlist from server. +[INFO] [SignageApp] python_functions: Updated playlist version in app_config.txt to 2. +[INFO] [SignageApp] MediaPlayer: Server playlist fetched successfully. +[INFO] [SignageApp] python_functions: Starting media file download... +[INFO] [SignageApp] python_functions: Successfully downloaded Ibex_450.jpg to /home/pi/Desktop/signage-player/src/static/resurse/Ibex_450.jpg +[INFO] [SignageApp] python_functions: Successfully downloaded cropped-cropped-main-picture-scaled-1.jpeg to /home/pi/Desktop/signage-player/src/static/resurse/cropped-cropped-main-picture-scaled-1.jpeg +[INFO] [SignageApp] python_functions: Starting save_local_playlist function. +[INFO] [SignageApp] python_functions: Updated local playlist with server data. +[INFO] [SignageApp] python_functions: Finished save_local_playlist function. +[INFO] [SignageApp] python_functions: Starting save_local_playlist function. +[INFO] [SignageApp] python_functions: Updated local playlist with server data. +[INFO] [SignageApp] python_functions: Finished save_local_playlist function. +[INFO] [SignageApp] python_functions: Starting load_config function. +[INFO] [SignageApp] python_functions: Configuration file loaded successfully. +[INFO] [SignageApp] python_functions: Configuration loaded: server=digi-signage.moto-adv.com, host=tv-terasa, quick=8887779, port=80 +[INFO] [SignageApp] Screen size set to 1920x1080 +[INFO] [SignageApp] MediaPlayer: Starting on_enter method. +[INFO] [SignageApp] python_functions: Starting load_local_playlist function. +[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'duration': 20, 'file_name': 'Ibex_450.jpg', 'url': 'http://digi-signage.moto-adv.com/media/Ibex_450.jpg'}, {'duration': 20, 'file_name': 'cropped-cropped-main-picture-scaled-1.jpeg', 'url': 'http://digi-signage.moto-adv.com/media/cropped-cropped-main-picture-scaled-1.jpeg'}], 'version': 2} +[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully. +[INFO] [SignageApp] MediaPlayer: Loaded local playlist: [{'duration': 20, 'file_name': 'Ibex_450.jpg', 'url': 'http://digi-signage.moto-adv.com/media/Ibex_450.jpg'}, {'duration': 20, 'file_name': 'cropped-cropped-main-picture-scaled-1.jpeg', 'url': 'http://digi-signage.moto-adv.com/media/cropped-cropped-main-picture-scaled-1.jpeg'}], Version: 2 +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/Ibex_450.jpg +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:27:18 - STARTED: Ibex_450.jpg +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:27:18 - STARTED: Ibex_450.jpg +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/Ibex_450.jpg +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] MediaPlayer: Finished on_enter method. +[INFO] [SignageApp] SettingsScreen: Log messages loaded successfully. +[INFO] [SignageApp] SettingsScreen: Testing connection to server... +[INFO] [SignageApp] SettingsScreen: Sending request to http://digi-signage.moto-adv.com:80/api/playlists with params: {'hostname': 'tv-terasa', 'quickconnect_code': '8887779'}... +[INFO] [SignageApp] SettingsScreen: Server is reachable. +[INFO] [SignageApp] Navigating to the next media. +[INFO] [SignageApp] Canceling image timer. +[INFO] [SignageApp] MediaPlayer: Starting play_media method. +[INFO] [SignageApp] MediaPlayer: Playing media: /home/pi/Desktop/signage-player/src/static/resurse/cropped-cropped-main-picture-scaled-1.jpeg +[INFO] [SignageApp] MediaPlayer: Canceling existing image timer. +[INFO] [SignageApp] MediaPlayer: Starting log_event function. +2025-06-25 10:27:37 - STARTED: cropped-cropped-main-picture-scaled-1.jpeg +[INFO] [SignageApp] MediaPlayer: Logged event: 2025-06-25 10:27:37 - STARTED: cropped-cropped-main-picture-scaled-1.jpeg +[INFO] [SignageApp] MediaPlayer: Finished log_event function. +[INFO] [SignageApp] Showing image: /home/pi/Desktop/signage-player/src/static/resurse/cropped-cropped-main-picture-scaled-1.jpeg +[INFO] [SignageApp] MediaPlayer: Finished play_media method. +[INFO] [SignageApp] Password correct. Exiting app. diff --git a/src/__pycache__/logging_config.cpython-311.pyc b/src/__pycache__/logging_config.cpython-311.pyc index 4826be5..7db5b9d 100644 Binary files a/src/__pycache__/logging_config.cpython-311.pyc and b/src/__pycache__/logging_config.cpython-311.pyc differ diff --git a/src/__pycache__/python_functions.cpython-311.pyc b/src/__pycache__/python_functions.cpython-311.pyc index 5ae29a8..55ed92a 100644 Binary files a/src/__pycache__/python_functions.cpython-311.pyc and b/src/__pycache__/python_functions.cpython-311.pyc differ diff --git a/src/kv/media_player.kv b/src/kv/media_player.kv index df57845..c1180de 100644 --- a/src/kv/media_player.kv +++ b/src/kv/media_player.kv @@ -78,7 +78,7 @@ # Input fields in the upper half of the screen BoxLayout: orientation: 'vertical' - size_hint_y: 0.4 # Allocate 85% of the screen height for input fields + size_hint_y: 0.7 # Allocate 85% of the screen height for input fields Label: text: "Screen Orientation" @@ -184,14 +184,29 @@ orientation: 'vertical' size_hint_y: None height: 200 # Adjust height as needed + padding: 10 + spacing: 5 + canvas.before: + Color: + rgba: 0.2, 0.2, 0.2, 1 # Dark gray background + Rectangle: + pos: self.pos + size: self.size + Color: + rgba: 1, 1, 1, 1 # White border + Line: + width: 2 + rectangle: (self.x, self.y, self.width, self.height) Label: id: log_messages_label text: "Log messages will appear here." font_size: 14 + font_name: "RobotoMono-Regular.ttf" # Use a monospace font halign: 'left' valign: 'top' text_size: self.size + color: 1, 1, 1, 1 # White text # Buttons in the lower part of the screen BoxLayout: diff --git a/src/logging_config.py b/src/logging_config.py index 1024fbb..ba2a5a6 100644 --- a/src/logging_config.py +++ b/src/logging_config.py @@ -4,15 +4,23 @@ import os # Path to the log file LOG_FILE_PATH = os.path.join(os.path.dirname(__file__), 'Resurse', 'log.txt') -# Configure the logger to write to the log file -logging.basicConfig( - level=logging.INFO, # Set the logging level to INFO - format='[%(levelname)s] [%(name)s] %(message)s', # Format for log messages - handlers=[ - logging.FileHandler(LOG_FILE_PATH, mode='a'), # Append logs to the file - logging.StreamHandler() # Also log to the console - ] -) +# Create a logger instance +Logger = logging.getLogger('SignageApp') +Logger.setLevel(logging.INFO) # Set the logging level to INFO -# Create a shared logger instance -Logger = logging.getLogger('SignageApp') \ No newline at end of file +# Create a file handler to write logs to the log.txt file +file_handler = logging.FileHandler(LOG_FILE_PATH, mode='a') # Append logs to the file +file_handler.setLevel(logging.INFO) + +# Create a formatter for the log messages +formatter = logging.Formatter('[%(levelname)s] [%(name)s] %(message)s') +file_handler.setFormatter(formatter) + +# Add the file handler to the logger +Logger.addHandler(file_handler) + +# Optionally, add a stream handler to log messages to the console +stream_handler = logging.StreamHandler() +stream_handler.setLevel(logging.INFO) +stream_handler.setFormatter(formatter) +Logger.addHandler(stream_handler) \ No newline at end of file diff --git a/src/media_player.py b/src/media_player.py index a92483d..63f420d 100644 --- a/src/media_player.py +++ b/src/media_player.py @@ -25,7 +25,7 @@ import requests import logging # Import functions from python_functions.py -from python_functions import load_local_playlist, download_media_files, clean_unused_files,save_local_playlist, fetch_server_playlist +from python_functions import load_local_playlist, download_media_files, clean_unused_files,save_local_playlist, update_config_playlist_version, fetch_server_playlist from logging_config import Logger # Import the shared logger # Load the KV file for UI layout @@ -106,7 +106,7 @@ class MediaPlayer(Screen): def on_enter(self): """Called when the screen is entered.""" - Logger.info("MediaPlayer: Entering screen...") + Logger.info("MediaPlayer: Starting on_enter method.") # Attempt to load the local playlist local_playlist_data = load_local_playlist() @@ -143,23 +143,27 @@ class MediaPlayer(Screen): self.show_buttons() # Ensure buttons are visible when the screen is entered else: Logger.warning("MediaPlayer: Playlist is empty. No media to play.") + Logger.info("MediaPlayer: Finished on_enter method.") def log_event(self, file_name, event): - # Log the start or stop event of a media file and clean up old logs. - # Get the current timestamp - timestamp = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') - log_message = f"{timestamp} - {event}: {file_name}\n" # Format the log message + """Log the start or stop event of a media file.""" + Logger.info("MediaPlayer: Starting log_event function.") + try: + # Get the current timestamp + timestamp = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') + log_message = f"{timestamp} - {event}: {file_name}\n" # Format the log message - # Write the log message to the log file - with open(self.log_file, 'a') as log: - log.write(log_message) - Logger.info(f"Logged event: {log_message.strip()}") # Log the event to the console - - # Clean up logs older than 24 hours - self.cleanup_old_logs() + # Write the log message to the log file + with open(self.log_file, 'a') as log: + log.write(log_message) + Logger.info(f"MediaPlayer: Logged event: {log_message.strip()}") + except Exception as e: + Logger.error(f"MediaPlayer: Failed to log event: {e}") + Logger.info("MediaPlayer: Finished log_event function.") def cleanup_old_logs(self): - # Delete log entries older than 24 hours. + """Delete log entries older than 24 hours.""" + Logger.info("MediaPlayer: Starting cleanup_old_logs function.") try: # Read all log entries if os.path.exists(self.log_file): @@ -181,18 +185,20 @@ class MediaPlayer(Screen): if (now - log_time).total_seconds() <= 86400: # 24 hours in seconds filtered_lines.append(line) except (ValueError, IndexError): - # If the log entry is malformed, skip it - Logger.warning(f"Malformed log entry skipped: {line.strip()}") + # If the log entry is malformed, log the issue but do not raise warnings + Logger.info(f"MediaPlayer: Skipping malformed log entry: {line.strip()}") # Write the filtered log entries back to the log file with open(self.log_file, 'w') as log: log.writelines(filtered_lines) - Logger.info("Old log entries cleaned up successfully.") + Logger.info("MediaPlayer: Old log entries cleaned up successfully.") except Exception as e: - Logger.error(f"Failed to clean up old logs: {e}") + Logger.error(f"MediaPlayer: Failed to clean up old logs: {e}") + Logger.info("MediaPlayer: Finished cleanup_old_logs function.") def play_media(self): """Play the current media in the playlist.""" + Logger.info("MediaPlayer: Starting play_media method.") if not self.playlist or not isinstance(self.playlist, list): Logger.error("MediaPlayer: Playlist is invalid or empty. Cannot play media.") return @@ -206,16 +212,16 @@ class MediaPlayer(Screen): base_dir = os.path.join(os.path.dirname(__file__), 'static', 'resurse') file_path = os.path.join(base_dir, file_name) # Full path to the media file - Logger.info(f"Playing media: {file_path}") + Logger.info(f"MediaPlayer: Playing media: {file_path}") # Check if the file exists if not os.path.exists(file_path): - Logger.error(f"Media file not found: {file_path}") + Logger.error(f"MediaPlayer: Media file not found: {file_path}") return # Cancel any existing timers if self.image_timer: - Logger.info("Canceling existing image timer.") + Logger.info("MediaPlayer: Canceling existing image timer.") Clock.unschedule(self.image_timer) # Log the start of the media @@ -227,7 +233,8 @@ class MediaPlayer(Screen): elif file_extension in ['.jpg', '.jpeg', '.png', '.gif']: self.show_image(file_path, duration) # Show image else: - Logger.error(f"Unsupported media type for file: {file_name}") + Logger.error(f"MediaPlayer: Unsupported media type for file: {file_name}") + Logger.info("MediaPlayer: Finished play_media method.") def play_video(self, file_path): """Play a video file without a fade-in effect.""" diff --git a/src/python_functions.py b/src/python_functions.py index 98f0afc..f37816f 100644 --- a/src/python_functions.py +++ b/src/python_functions.py @@ -10,6 +10,7 @@ LOCAL_PLAYLIST_FILE = './static/local_playlist.json' # Path to the local playli def load_config(): """Load configuration from app_config.txt.""" + Logger.info("python_functions: Starting load_config function.") if os.path.exists(CONFIG_FILE): try: with open(CONFIG_FILE, 'r') as file: @@ -21,6 +22,7 @@ def load_config(): else: Logger.error(f"python_functions: Configuration file {CONFIG_FILE} not found.") return {} + Logger.info("python_functions: Finished load_config function.") # Load configuration and initialize variables config_data = load_config() @@ -33,12 +35,14 @@ Logger.info(f"python_functions: Configuration loaded: server={server}, host={hos def load_local_playlist(): """Load the playlist and version from local storage.""" + Logger.info("python_functions: Starting load_local_playlist function.") if os.path.exists(LOCAL_PLAYLIST_FILE): try: with open(LOCAL_PLAYLIST_FILE, 'r') as local_file: local_playlist = json.load(local_file) Logger.info(f"python_functions: Local playlist loaded: {local_playlist}") if isinstance(local_playlist, dict) and 'playlist' in local_playlist and 'version' in local_playlist: + Logger.info("python_functions: Finished load_local_playlist function successfully.") return local_playlist # Return the full playlist data else: Logger.error("python_functions: Invalid local playlist structure.") @@ -49,9 +53,11 @@ def load_local_playlist(): else: Logger.warning("python_functions: Local playlist file not found.") return {'playlist': [], 'version': 0} + Logger.info("python_functions: Finished load_local_playlist function.") def save_local_playlist(playlist): """Save the updated playlist locally.""" + Logger.info("python_functions: Starting save_local_playlist function.") if not playlist or 'playlist' not in playlist: Logger.error("python_functions: Invalid playlist data. Cannot save local playlist.") return @@ -62,6 +68,7 @@ def save_local_playlist(playlist): Logger.info("python_functions: Updated local playlist with server data.") except IOError as e: Logger.error(f"python_functions: Failed to save local playlist: {e}") + Logger.info("python_functions: Finished save_local_playlist function.") def fetch_server_playlist(): """Fetch the updated playlist from the server.""" diff --git a/src/static/local_playlist.json b/src/static/local_playlist.json index 3a0eab2..ba1b6f0 100644 --- a/src/static/local_playlist.json +++ b/src/static/local_playlist.json @@ -1 +1 @@ -{"playlist": [{"file_name": "20250417_09h25m37s_grim.png", "url": "/home/pi/Desktop/signage-player/src/static/resurse/20250417_09h25m37s_grim.png", "duration": 20}], "version": 6} \ No newline at end of file +{"playlist": [{"duration": 20, "file_name": "Ibex_450.jpg", "url": "http://digi-signage.moto-adv.com/media/Ibex_450.jpg"}, {"duration": 20, "file_name": "cropped-cropped-main-picture-scaled-1.jpeg", "url": "http://digi-signage.moto-adv.com/media/cropped-cropped-main-picture-scaled-1.jpeg"}], "version": 2} \ No newline at end of file diff --git a/src/static/resurse/123.jpeg b/src/static/resurse/123.jpeg deleted file mode 100644 index 29d8372..0000000 Binary files a/src/static/resurse/123.jpeg and /dev/null differ diff --git a/src/static/resurse/20250417_09h25m37s_grim.png b/src/static/resurse/20250417_09h25m37s_grim.png deleted file mode 100644 index 1bcc6ab..0000000 Binary files a/src/static/resurse/20250417_09h25m37s_grim.png and /dev/null differ diff --git a/src/static/resurse/Ibex_450.jpg b/src/static/resurse/Ibex_450.jpg new file mode 100644 index 0000000..5f3b4b8 Binary files /dev/null and b/src/static/resurse/Ibex_450.jpg differ diff --git a/src/static/resurse/cropped-cropped-main-picture-scaled-1.jpeg b/src/static/resurse/cropped-cropped-main-picture-scaled-1.jpeg new file mode 100644 index 0000000..8a15a16 Binary files /dev/null and b/src/static/resurse/cropped-cropped-main-picture-scaled-1.jpeg differ