Ejemplo n.º 1
0
    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()
Ejemplo n.º 2
0
 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
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
    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())