def browse(self, list, focus, **kwargs): mc.ShowDialogWait() items = list.GetItems() item = items[focus] if item.GetProperty("type") == "audio": self.play(item) return window.GetControl(50).SetFocus() params = urllib.urlencode({"render": "json"}) data = tools.json_loads(item.GetPath(), params) if not data: return items = self.parse(data) if not items: return if kwargs.get("push", True): window.PushState() list = window.GetList(50) list.SetItems(items) mc.HideDialogWait()
def get_input(self): if self._input is not None: return self._input if self.request.method == 'POST' and not len(self.request.POST): input = self.request.json_body input.update(self.request.GET) else: value_key = '__body__' value = self.request.get(value_key) if value: try: input = tools.json_loads(value) except Exception as e: input = {} else: input = {} new_params = {} for param_key in self.request.params.keys(): if param_key == value_key: continue value = self.request.params.getall(param_key) if len(value) == 1: value = value[0] new_params[param_key] = value input.update(new_params) input['__request__'] = self.request self._input = input return self._input
def load(self): mc.ShowDialogWait() params = urllib.urlencode({"render": "json", "partnerId": "HyzqumNX", "serial": self.serial}) data = tools.json_loads(self.base, params) if not data: return items = self.parse(data) list = window.GetList(60) list.SetItems(items) mc.HideDialogWait() self.browse(list, 0, push=False)
def search(self, q): params = urllib.urlencode({"render": "json", "query": q, "filter": ""}) url = self.base + "Search.ashx" data = tools.json_loads(url, params) if not data: return items = self.parse(data) if not items: return if kwargs.get("push", True): window.PushState() list = window.GetList(50) list.SetItems(items)
def play(self, item): params = urllib.urlencode({"render": "json"}) data = tools.json_loads(item.GetPath(), params) if not data: return data.body = tools.sort_dict(data.body, "bitrate") mime = tools.getMIME(str(data.body[0]["media_type"])) item.SetPath(str(data.body[0]["url"])) item.SetContentType(str(mime)) player = mc.GetPlayer() player.Play(item) label = window.GetLabel(3002) label.SetLabel(item.GetLabel())