From 609d9169d24c5b7b34a9449e972f0e0e2a739d8d Mon Sep 17 00:00:00 2001 From: Kiwy Signage Player Date: Mon, 29 Jun 2026 19:59:49 +0300 Subject: [PATCH] updated player for deploy from server --- .player_heartbeat | 2 +- config/app_config.json | 10 +++++----- player_auth.json | 10 ---------- playlists/server_playlist.json | 28 ++++++++++++---------------- src/get_playlists_v2.py | 2 +- src/main.py | 10 ++++++++-- src/player_auth.json | 8 ++++---- src/signage_player.kv | 24 ++++++++++++++++++++++++ 8 files changed, 55 insertions(+), 39 deletions(-) delete mode 100644 player_auth.json diff --git a/.player_heartbeat b/.player_heartbeat index 8ddbcd3..03f3a0d 100644 --- a/.player_heartbeat +++ b/.player_heartbeat @@ -1 +1 @@ -1768682062.8464386 \ No newline at end of file +1782752385.7015185 \ No newline at end of file diff --git a/config/app_config.json b/config/app_config.json index 66cdb5e..7ede3d8 100644 --- a/config/app_config.json +++ b/config/app_config.json @@ -1,12 +1,12 @@ { - "server_ip": "192.168.0.121", - "port": "443", - "screen_name": "rpi-tvcanba1", + "server_ip": "192.168.0.159", + "port": "8080", + "screen_name": "rpi-Receptie", "quickconnect_key": "8887779", "orientation": "Landscape", "touch": "True", "max_resolution": "1920x1080", "edit_feature_enabled": true, - "use_https": true, + "use_https": false, "verify_ssl": false -} \ No newline at end of file +} diff --git a/player_auth.json b/player_auth.json deleted file mode 100644 index 68b87f3..0000000 --- a/player_auth.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "hostname": "rpi-tvcanba1", - "auth_code": "LhfERILw4cFxejhbIUuQ72QddisRgHMAm7kUSty64LA", - "player_id": 1, - "player_name": "TVacasa", - "playlist_id": 1, - "orientation": "Landscape", - "authenticated": true, - "server_url": "https://192.168.0.121:443" -} \ No newline at end of file diff --git a/playlists/server_playlist.json b/playlists/server_playlist.json index c85c130..79d1339 100644 --- a/playlists/server_playlist.json +++ b/playlists/server_playlist.json @@ -1,27 +1,23 @@ { - "count": 3, + "count": 2, "player_id": 1, - "player_name": "TVacasa", + "player_name": "Receptie TV", "playlist": [ { - "file_name": "2026efvev-1428673176.jpg", - "url": "media/2026efvev-1428673176.jpg", - "duration": 50, - "edit_on_player": true + "file_name": "sean-oulashin-KMn4VEeEPR8-unsplash.jpg", + "type": "image", + "url": "media/sean-oulashin-KMn4VEeEPR8-unsplash.jpg", + "duration": 25, + "edit_on_player": false }, { - "file_name": "4k1.jpg", - "url": "media/4k1.jpg", - "duration": 30, - "edit_on_player": true - }, - { - "file_name": "1416529-hd_1920_1080_30fps.mp4", - "url": "media/1416529-hd_1920_1080_30fps.mp4", - "duration": 13, + "file_name": "robert-lukeman-zNN6ubHmruI-unsplash.jpg", + "type": "image", + "url": "media/robert-lukeman-zNN6ubHmruI-unsplash.jpg", + "duration": 20, "edit_on_player": false } ], "playlist_id": 1, - "playlist_version": 34 + "playlist_version": 15 } \ No newline at end of file diff --git a/src/get_playlists_v2.py b/src/get_playlists_v2.py index 8d655cd..5e530dd 100644 --- a/src/get_playlists_v2.py +++ b/src/get_playlists_v2.py @@ -74,7 +74,7 @@ def ensure_authenticated(config): # Use HTTPS for IP addresses server_url = f'https://{server_ip}:{port}' if port else f'https://{server_ip}' else: - server_url = f'http://{server_ip}:{port}' + server_url = f'http://{server_ip}:{port}' if port else f'http://{server_ip}' else: # For domain names, use HTTPS by default if use_https: diff --git a/src/main.py b/src/main.py index 64c895e..6f7e22c 100644 --- a/src/main.py +++ b/src/main.py @@ -640,6 +640,7 @@ class SettingsPopup(Popup): # Populate current values self.ids.server_input.text = self.player.config.get('server_ip', 'localhost') + self.ids.port_input.text = str(self.player.config.get('port', '')) self.ids.screen_input.text = self.player.config.get('screen_name', 'kivy-player') self.ids.quickconnect_input.text = self.player.config.get('quickconnect_key', '1234567') self.ids.orientation_input.text = self.player.config.get('orientation', 'Landscape') @@ -723,7 +724,7 @@ class SettingsPopup(Popup): server_ip = self.ids.server_input.text.strip() screen_name = self.ids.screen_input.text.strip() quickconnect = self.ids.quickconnect_input.text.strip() - port = self.player.config.get('port', '443') + port = self.ids.port_input.text.strip() or self.player.config.get('port', '') use_https = self.player.config.get('use_https', True) verify_ssl = self.player.config.get('verify_ssl', True) @@ -741,7 +742,11 @@ class SettingsPopup(Popup): server_url = f"{server_ip}:{port}" else: protocol = "https" if use_https else "http" - server_url = f"{protocol}://{server_ip}:{port}" + if ':' in server_ip: + # server_ip already contains a port (e.g. 192.168.0.230:8080) + server_url = f"{protocol}://{server_ip}" + else: + server_url = f"{protocol}://{server_ip}:{port}" if port else f"{protocol}://{server_ip}" Logger.info(f"SettingsPopup: Testing connection to {server_url} (HTTPS: {use_https}, Verify SSL: {verify_ssl})") @@ -875,6 +880,7 @@ class SettingsPopup(Popup): """Save configuration and close popup""" # Update config self.player.config['server_ip'] = self.ids.server_input.text + self.player.config['port'] = self.ids.port_input.text.strip() self.player.config['screen_name'] = self.ids.screen_input.text self.player.config['quickconnect_key'] = self.ids.quickconnect_input.text self.player.config['orientation'] = self.ids.orientation_input.text diff --git a/src/player_auth.json b/src/player_auth.json index 68b87f3..7590145 100644 --- a/src/player_auth.json +++ b/src/player_auth.json @@ -1,10 +1,10 @@ { - "hostname": "rpi-tvcanba1", - "auth_code": "LhfERILw4cFxejhbIUuQ72QddisRgHMAm7kUSty64LA", + "hostname": "rpi-Receptie", + "auth_code": "BrJrGzX_IT9oP_Lfke8Qgo4sDjMc49T1EhSnWmKKpDM", "player_id": 1, - "player_name": "TVacasa", + "player_name": "Receptie TV", "playlist_id": 1, "orientation": "Landscape", "authenticated": true, - "server_url": "https://192.168.0.121:443" + "server_url": "http://192.168.0.159:8080" } \ No newline at end of file diff --git a/src/signage_player.kv b/src/signage_player.kv index 5d44e02..2c410f5 100644 --- a/src/signage_player.kv +++ b/src/signage_player.kv @@ -382,6 +382,30 @@ write_tab: False on_touch_down: root.on_input_touch(self, args[1]) if self.collide_point(*args[1].pos) else None + # Server port + BoxLayout: + orientation: 'horizontal' + size_hint_y: None + height: dp(40) + spacing: dp(10) + + Label: + text: 'Port:' + size_hint_x: 0.3 + text_size: self.size + halign: 'left' + valign: 'middle' + + TextInput: + id: port_input + size_hint_x: 0.7 + multiline: False + font_size: sp(14) + hint_text: '80 or 8080 (leave empty for default)' + input_filter: 'int' + write_tab: False + on_touch_down: root.on_input_touch(self, args[1]) if self.collide_point(*args[1].pos) else None + # Screen name BoxLayout: orientation: 'horizontal'