Compare commits

...

2 Commits

11 changed files with 187 additions and 17 deletions

View File

@@ -6,5 +6,5 @@
"port": "8880",
"screen_w": "1920",
"screen_h": "1080",
"playlist_version": 0
"playlist_version": 29
}

View File

@@ -1,20 +1,15 @@
{
"playlist": [
{
"file_name": "1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg",
"url": "static/resurse/1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg",
"duration": 20
"file_name": "Cindrel_1.jpg",
"url": "static/resurse/Cindrel_1.jpg",
"duration": 10
},
{
"file_name": "wp2782770-1846651530.jpg",
"url": "static/resurse/wp2782770-1846651530.jpg",
"duration": 15
},
{
"file_name": "SampleVideo_1280x720_1mb.mp4",
"url": "static/resurse/SampleVideo_1280x720_1mb.mp4",
"duration": 5
"file_name": "trans_cindrel_4.jpg",
"url": "static/resurse/trans_cindrel_4.jpg",
"duration": 10
}
],
"version": 0
"version": 29
}

View File

@@ -2259,3 +2259,173 @@
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] Application exit requested
[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=8880
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] Fetching playlist from URL: http://digi-signage.moto-adv.com:8880/api/playlists with params: {'hostname': 'tv-terasa', 'quickconnect_code': '8887779'}
[ERROR] [SignageApp] Failed to fetch playlist. Status Code: 522
[INFO] [SignageApp] No new playlist on the server. Local version: 0, Server version: 0
[INFO] [SignageApp] python_functions: Starting load_local_playlist function.
[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg', 'url': 'static/resurse/1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg', 'duration': 20}, {'file_name': 'wp2782770-1846651530.jpg', 'url': 'static/resurse/wp2782770-1846651530.jpg', 'duration': 15}, {'file_name': 'SampleVideo_1280x720_1mb.mp4', 'url': 'static/resurse/SampleVideo_1280x720_1mb.mp4', 'duration': 5}], 'version': 0}
[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully.
[INFO] [SignageApp] Found fallback playlist with 3 items
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] Initializing with settings: server=digi-signage.moto-adv.com, host=tv-terasa, port=8880
[INFO] [SignageApp] Attempting to connect to server...
[INFO] [SignageApp] Fetching playlist from URL: http://digi-signage.moto-adv.com:8880/api/playlists with params: {'hostname': 'tv-terasa', 'quickconnect_code': '8887779'}
[ERROR] [SignageApp] Failed to fetch playlist. Status Code: 522
[WARNING] [SignageApp] Server returned empty playlist, falling back to local playlist
[INFO] [SignageApp] Loaded fallback playlist with 3 items
[INFO] [SignageApp] Playing media: 1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg from /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg
2025-08-23 15:14:33 - STARTED: 1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg
[INFO] [SignageApp] Successfully displayed image: 1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg (Original: (1600, 1000), Screen: 1920x1080, Mode: fit, Offset: (96, 0))
[INFO] [SignageApp] Starting Simple Tkinter Media Player
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] Application exit requested
[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=8880
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] Fetching playlist from URL: http://digi-signage.moto-adv.com:8880/api/playlist with params: {'hostname': 'tv-terasa', 'quickconnect_code': '8887779'}
[ERROR] [SignageApp] Failed to fetch playlist. Status Code: 522
[INFO] [SignageApp] No new playlist on the server. Local version: 0, Server version: 0
[INFO] [SignageApp] python_functions: Starting load_local_playlist function.
[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg', 'url': 'static/resurse/1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg', 'duration': 20}, {'file_name': 'wp2782770-1846651530.jpg', 'url': 'static/resurse/wp2782770-1846651530.jpg', 'duration': 15}, {'file_name': 'SampleVideo_1280x720_1mb.mp4', 'url': 'static/resurse/SampleVideo_1280x720_1mb.mp4', 'duration': 5}], 'version': 0}
[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully.
[INFO] [SignageApp] Found fallback playlist with 3 items
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] Initializing with settings: server=digi-signage.moto-adv.com, host=tv-terasa, port=8880
[INFO] [SignageApp] Attempting to connect to server...
[INFO] [SignageApp] Fetching playlist from URL: http://digi-signage.moto-adv.com:8880/api/playlist with params: {'hostname': 'tv-terasa', 'quickconnect_code': '8887779'}
[ERROR] [SignageApp] Failed to fetch playlist. Status Code: 522
[WARNING] [SignageApp] Server returned empty playlist, falling back to local playlist
[INFO] [SignageApp] Loaded fallback playlist with 3 items
[INFO] [SignageApp] Playing media: 1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg from /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg
2025-08-23 15:46:23 - STARTED: 1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg
[INFO] [SignageApp] Successfully displayed image: 1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg (Original: (1600, 1000), Screen: 1920x1080, Mode: fit, Offset: (96, 0))
[INFO] [SignageApp] Starting Simple Tkinter Media Player
[INFO] [SignageApp] Playing media: wp2782770-1846651530.jpg from /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/wp2782770-1846651530.jpg
2025-08-23 15:46:44 - STARTED: wp2782770-1846651530.jpg
[INFO] [SignageApp] Successfully displayed image: wp2782770-1846651530.jpg (Original: (3840, 2400), Screen: 1920x1080, Mode: fit, Offset: (96, 0))
[INFO] [SignageApp] Playing media: SampleVideo_1280x720_1mb.mp4 from /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/SampleVideo_1280x720_1mb.mp4
2025-08-23 15:47:00 - STARTED: SampleVideo_1280x720_1mb.mp4
[INFO] [SignageApp] Starting system VLC subprocess for video: /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/SampleVideo_1280x720_1mb.mp4
[INFO] [SignageApp] VLC subprocess finished: /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/SampleVideo_1280x720_1mb.mp4
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] Playing media: 1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg from /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] Fetching playlist from URL: http://digi-signage.moto-adv.com:8880/api/playlist with params: {'hostname': 'tv-terasa', 'quickconnect_code': '8887779'}
2025-08-23 15:47:08 - STARTED: 1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg
[INFO] [SignageApp] Successfully displayed image: 1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg (Original: (1600, 1000), Screen: 1920x1080, Mode: fit, Offset: (96, 0))
[INFO] [SignageApp] Application exit requested
[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=8880
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] Fetching playlist from URL: http://digi-signage.moto-adv.com/api/playlist with params: {'hostname': 'tv-terasa', 'quickconnect_code': '8887779'}
[ERROR] [SignageApp] Failed to fetch playlist. Status Code: 404
[INFO] [SignageApp] No new playlist on the server. Local version: 0, Server version: 0
[INFO] [SignageApp] python_functions: Starting load_local_playlist function.
[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg', 'url': 'static/resurse/1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg', 'duration': 20}, {'file_name': 'wp2782770-1846651530.jpg', 'url': 'static/resurse/wp2782770-1846651530.jpg', 'duration': 15}, {'file_name': 'SampleVideo_1280x720_1mb.mp4', 'url': 'static/resurse/SampleVideo_1280x720_1mb.mp4', 'duration': 5}], 'version': 0}
[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully.
[INFO] [SignageApp] Found fallback playlist with 3 items
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] Initializing with settings: server=digi-signage.moto-adv.com, host=tv-terasa, port=8880
[INFO] [SignageApp] Attempting to connect to server...
[INFO] [SignageApp] Fetching playlist from URL: http://digi-signage.moto-adv.com/api/playlist with params: {'hostname': 'tv-terasa', 'quickconnect_code': '8887779'}
[ERROR] [SignageApp] Failed to fetch playlist. Status Code: 404
[WARNING] [SignageApp] Server returned empty playlist, falling back to local playlist
[INFO] [SignageApp] Loaded fallback playlist with 3 items
[INFO] [SignageApp] Playing media: 1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg from /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg
2025-08-23 15:59:41 - STARTED: 1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg
[INFO] [SignageApp] Successfully displayed image: 1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg (Original: (1600, 1000), Screen: 1920x1080, Mode: fit, Offset: (96, 0))
[INFO] [SignageApp] Starting Simple Tkinter Media Player
[INFO] [SignageApp] Playing media: wp2782770-1846651530.jpg from /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/wp2782770-1846651530.jpg
2025-08-23 16:00:02 - STARTED: wp2782770-1846651530.jpg
[INFO] [SignageApp] Successfully displayed image: wp2782770-1846651530.jpg (Original: (3840, 2400), Screen: 1920x1080, Mode: fit, Offset: (96, 0))
[INFO] [SignageApp] Playing media: SampleVideo_1280x720_1mb.mp4 from /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/SampleVideo_1280x720_1mb.mp4
2025-08-23 16:00:18 - STARTED: SampleVideo_1280x720_1mb.mp4
[INFO] [SignageApp] Starting system VLC subprocess for video: /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/SampleVideo_1280x720_1mb.mp4
[INFO] [SignageApp] VLC subprocess finished: /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/SampleVideo_1280x720_1mb.mp4
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] Playing media: 1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg from /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
2025-08-23 16:00:26 - STARTED: 1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg
[INFO] [SignageApp] Fetching playlist from URL: http://digi-signage.moto-adv.com/api/playlist with params: {'hostname': 'tv-terasa', 'quickconnect_code': '8887779'}
[ERROR] [SignageApp] Failed to fetch playlist. Status Code: 404
[INFO] [SignageApp] No playlist updates available
[INFO] [SignageApp] Successfully displayed image: 1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg (Original: (1600, 1000), Screen: 1920x1080, Mode: fit, Offset: (96, 0))
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] Application exit requested
[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=8880
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] Fetching playlist from URL: http://digi-signage.moto-adv.com/api/playlists with params: {'hostname': 'tv-terasa', 'quickconnect_code': '8887779'}
[INFO] [SignageApp] Server response: {'hashed_quickconnect': '$2b$12$UQzlEHNWudAB4P08Le3YJeWHrZHJkWL44kRQpZ53kt.fDLTcrPzGm', 'playlist': [{'duration': 10, 'file_name': 'Cindrel_1.jpg', 'url': 'http://digi-signage.moto-adv.com/media/Cindrel_1.jpg'}, {'duration': 10, 'file_name': 'trans_cindrel_4.jpg', 'url': 'http://digi-signage.moto-adv.com/media/trans_cindrel_4.jpg'}], 'playlist_version': 29}
[INFO] [SignageApp] Fetched updated playlist from server.
[INFO] [SignageApp] python_functions: Updated playlist version in app_config.txt to 29.
[INFO] [SignageApp] A new playlist is available on the server: version 29 (local: 0)
[INFO] [SignageApp] python_functions: Starting load_local_playlist function.
[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': '1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg', 'url': 'static/resurse/1307306470-nature_wallpaper_hd_hd_nature_3-3828209637.jpg', 'duration': 20}, {'file_name': 'wp2782770-1846651530.jpg', 'url': 'static/resurse/wp2782770-1846651530.jpg', 'duration': 15}, {'file_name': 'SampleVideo_1280x720_1mb.mp4', 'url': 'static/resurse/SampleVideo_1280x720_1mb.mp4', 'duration': 5}], 'version': 0}
[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully.
[INFO] [SignageApp] Found fallback playlist with 3 items
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] Initializing with settings: server=digi-signage.moto-adv.com, host=tv-terasa, port=8880
[INFO] [SignageApp] Attempting to connect to server...
[INFO] [SignageApp] Fetching playlist from URL: http://digi-signage.moto-adv.com/api/playlists with params: {'hostname': 'tv-terasa', 'quickconnect_code': '8887779'}
[INFO] [SignageApp] Server response: {'hashed_quickconnect': '$2b$12$UQzlEHNWudAB4P08Le3YJeWHrZHJkWL44kRQpZ53kt.fDLTcrPzGm', 'playlist': [{'duration': 10, 'file_name': 'Cindrel_1.jpg', 'url': 'http://digi-signage.moto-adv.com/media/Cindrel_1.jpg'}, {'duration': 10, 'file_name': 'trans_cindrel_4.jpg', 'url': 'http://digi-signage.moto-adv.com/media/trans_cindrel_4.jpg'}], 'playlist_version': 29}
[INFO] [SignageApp] Fetched updated playlist from server.
[INFO] [SignageApp] python_functions: Updated playlist version in app_config.txt to 29.
[INFO] [SignageApp] Server playlist found with 2 items, version 29
[INFO] [SignageApp] python_functions: Starting media file download...
[INFO] [SignageApp] python_functions: Successfully downloaded Cindrel_1.jpg to /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/Cindrel_1.jpg
[INFO] [SignageApp] python_functions: Successfully downloaded trans_cindrel_4.jpg to /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/trans_cindrel_4.jpg
[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: Finished media file download and updated local playlist.
[INFO] [SignageApp] python_functions: Updated playlist version in app_config.txt to 29.
[INFO] [SignageApp] python_functions: Starting load_local_playlist function.
[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': 'Cindrel_1.jpg', 'url': 'static/resurse/Cindrel_1.jpg', 'duration': 10}, {'file_name': 'trans_cindrel_4.jpg', 'url': 'static/resurse/trans_cindrel_4.jpg', 'duration': 10}], 'version': 29}
[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully.
[INFO] [SignageApp] Successfully loaded 2 items from server
[INFO] [SignageApp] Playing media: Cindrel_1.jpg from /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/Cindrel_1.jpg
2025-08-23 16:09:09 - STARTED: Cindrel_1.jpg
[INFO] [SignageApp] Successfully displayed image: Cindrel_1.jpg (Original: (4096, 3072), Screen: 1920x1080, Mode: fit, Offset: (240, 0))
[INFO] [SignageApp] Starting Simple Tkinter Media Player
[INFO] [SignageApp] Playing media: trans_cindrel_4.jpg from /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/trans_cindrel_4.jpg
2025-08-23 16:09:20 - STARTED: trans_cindrel_4.jpg
[INFO] [SignageApp] Successfully displayed image: trans_cindrel_4.jpg (Original: (4000, 3000), Screen: 1920x1080, Mode: fit, Offset: (240, 0))
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] Playing media: Cindrel_1.jpg from /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/Cindrel_1.jpg
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] Fetching playlist from URL: http://digi-signage.moto-adv.com/api/playlists with params: {'hostname': 'tv-terasa', 'quickconnect_code': '8887779'}
2025-08-23 16:09:32 - STARTED: Cindrel_1.jpg
[INFO] [SignageApp] Server response: {'hashed_quickconnect': '$2b$12$UQzlEHNWudAB4P08Le3YJeWHrZHJkWL44kRQpZ53kt.fDLTcrPzGm', 'playlist': [{'duration': 10, 'file_name': 'Cindrel_1.jpg', 'url': 'http://digi-signage.moto-adv.com/media/Cindrel_1.jpg'}, {'duration': 10, 'file_name': 'trans_cindrel_4.jpg', 'url': 'http://digi-signage.moto-adv.com/media/trans_cindrel_4.jpg'}], 'playlist_version': 29}
[INFO] [SignageApp] Fetched updated playlist from server.
[INFO] [SignageApp] python_functions: Updated playlist version in app_config.txt to 29.
[INFO] [SignageApp] No playlist updates available
[INFO] [SignageApp] Successfully displayed image: Cindrel_1.jpg (Original: (4096, 3072), Screen: 1920x1080, Mode: fit, Offset: (240, 0))
[INFO] [SignageApp] Application exit requested

Binary file not shown.

View File

@@ -4,6 +4,7 @@ import requests
from logging_config import Logger # Import the shared logger
import bcrypt
import time
import re
# Update paths to use the new directory structure
CONFIG_FILE = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'resources', 'app_config.txt')
@@ -75,14 +76,18 @@ def save_local_playlist(playlist):
def fetch_server_playlist():
"""Fetch the updated playlist from the server."""
try:
server_ip = f'{server}:{port}' # Construct the server IP with port
url = f'http://{server_ip}/api/playlists'
# Use port only if server is an IP address
ip_pattern = r'^\d+\.\d+\.\d+\.\d+$'
if re.match(ip_pattern, server):
server_url = f'http://{server}:{port}/api/playlists' # fixed endpoint
else:
server_url = f'http://{server}/api/playlists' # fixed endpoint
params = {
'hostname': host,
'quickconnect_code': quick
}
Logger.info(f"Fetching playlist from URL: {url} with params: {params}")
response = requests.get(url, params=params)
Logger.info(f"Fetching playlist from URL: {server_url} with params: {params}")
response = requests.get(server_url, params=params)
if response.status_code == 200:
response_data = response.json()

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 MiB