From 3c5144134c274f29049eeacb45fcca8a6f7d48b2 Mon Sep 17 00:00:00 2001 From: DYefremov Date: Fri, 1 Oct 2021 11:44:38 +0300 Subject: [PATCH] minor http api correction for neutrino --- app/connections.py | 2 +- app/ui/main.py | 17 +++++++++++++---- app/ui/playback.py | 3 ++- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/app/connections.py b/app/connections.py index 1dd31504..5e1628a7 100644 --- a/app/connections.py +++ b/app/connections.py @@ -714,7 +714,7 @@ class HttpAPI: return {"info": f.read().decode("utf-8").strip()} elif req_type is HttpAPI.Request.N_STREAM: return {"m3u": f.read().decode("utf-8")} - return f.read().decode("utf-8") + return {"data": f.read().decode("utf-8")} @staticmethod def init_auth(user, password, url, use_ssl=False): diff --git a/app/ui/main.py b/app/ui/main.py index ee1e60a1..2c19c584 100644 --- a/app/ui/main.py +++ b/app/ui/main.py @@ -700,7 +700,8 @@ class Application(Gtk.Application): def force_ctrl(self, view, event): """ Function for force ctrl press event for view """ - event.state |= MOD_MASK + if event.state is not Gdk.ModifierType.SHIFT_MASK: + event.state |= MOD_MASK def on_close_app(self, *args): """ Performing operations before closing the application. """ @@ -2687,7 +2688,8 @@ class Application(Gtk.Application): self._http_api.send(HttpAPI.Request.STREAM_CURRENT, "", self.record) elif self._s_type is SettingsType.NEUTRINO_MP: self._http_api.send(HttpAPI.Request.N_ZAP, "", - lambda rf: self._http_api.send(HttpAPI.Request.N_STREAM, rf, self.record)) + lambda rf: self._http_api.send(HttpAPI.Request.N_STREAM, + rf.get("data", ""), self.record)) else: log("Error [on record]: Settings type is not supported!") @@ -2811,7 +2813,7 @@ class Application(Gtk.Application): self._http_api.send(HttpAPI.Request.ZAP, ref, zap) elif self._s_type is SettingsType.NEUTRINO_MP: def zap(rq): - if rq and rq == "ok": + if rq and rq.get("data", None) == "ok": GLib.idle_add(scroll_to, path, self._fav_view) if callback: callback() @@ -2931,11 +2933,18 @@ class Application(Gtk.Application): self._http_api.init() return + GLib.idle_add(self._receiver_info_label.set_text, info.get("info", ""), priority=GLib.PRIORITY_LOW) + if self._http_api: self._http_api.send(HttpAPI.Request.SIGNAL, None, self.update_neutrino_signal) - @lru_cache(maxsize=2) def update_neutrino_signal(self, sig): + data = sig.get("data", None) + if data: + self.set_neutrino_signal(data) + + @lru_cache(maxsize=2) + def set_neutrino_signal(self, sig): s_data = sig.split() has_data = len(s_data) == 6 if has_data: diff --git a/app/ui/playback.py b/app/ui/playback.py index 0abcad0d..b1d81e0a 100644 --- a/app/ui/playback.py +++ b/app/ui/playback.py @@ -370,7 +370,8 @@ class PlayerBox(Gtk.Box): self._app.http_api.send(HttpAPI.Request.STREAM_CURRENT, "", self.watch) elif s_type is SettingsType.NEUTRINO_MP: self._app.http_api.send(HttpAPI.Request.N_ZAP, "", - lambda rf: self._app.http_api.send(HttpAPI.Request.N_STREAM, rf, self.watch)) + lambda rf: self._app.http_api.send(HttpAPI.Request.N_STREAM, rf.get("data", ""), + self.watch)) def watch(self, data): url = self._app.get_url_from_m3u(data)