Exemplo n.º 1
0
    def onInit(self):
        self.display_list = self.getControl(1000)
        menu_items = []

        for idx, i in enumerate(self.sources):
            menu_item = tools.menuItem(label='%s' % i['release_title'])
            for info in i.keys():
                try:
                    value = i[info]
                    if type(value) == list:
                        value = [str(k) for k in value]
                        value = ' '.join(sorted(value))
                    if info == 'size':
                        value = tools.source_size_display(value)
                    menu_item.setProperty(info, str(value).replace('_', ' '))
                except UnicodeEncodeError:
                    menu_item.setProperty(info, i[info])

            struct_info = source_utils.info_list_to_sorted_dict(i.get('info', []))
            for property in struct_info.keys():
                menu_item.setProperty('info.{}'.format(property), struct_info[property])

            menu_items.append(menu_item)
            self.display_list.addItem(menu_item)

        self.setFocusId(1000)
Exemplo n.º 2
0
    def onInit(self):
        self.display_list = self.getControl(1000)
        menu_items = []

        for idx, i in enumerate(self.sources):
            menu_item = tools.menuItem(label=('%s) %s' %
                                              (idx + 1, i['release_title'])))
            for info in i.keys():
                try:
                    tools.log(i)
                    tools.log(info)
                    value = i[info]
                    if type(value) == list:
                        value = [str(k) for k in value]
                        value = ' '.join(sorted(value))
                    if info == 'size':
                        value = tools.source_size_display(value)
                    if info == 'type' and i.get(info) == 'hoster':
                        menu_item.setProperty('provider',
                                              str(value).replace('_', ' '))
                    menu_item.setProperty(info, str(value).replace('_', ' '))
                except UnicodeEncodeError:
                    menu_item.setProperty(info, i[info])
            menu_items.append(menu_item)
            self.display_list.addItem(menu_item)

        self.setFocusId(1000)
 def fill_packages(self):
     self.refresh_data()
     self.package_list.reset()
     for i in self.packages:
         item = tools.menuItem(label=i['pack_name'])
         for info in i.keys():
             item.setProperty(info, i[info])
         self.package_list.addItem(item)
Exemplo n.º 4
0
    def play_source(self, stream_link, args, resume_time=None, params=None):
        try:
            self.pre_cache_initiated = False
            if resume_time is not None:
                self.offset = float(resume_time)

            self.params = params

            if stream_link is None:
                tools.cancelPlayback()
                raise Exception

            self.playing_file = stream_link
            self.original_action_args = args
            self.smart_module = smartPlay.SmartPlay(self.original_action_args)

            args = tools.get_item_information(args)
            self.args = args

            if 'showInfo' in args:
                self.media_type = 'episode'
                # Workaround for estuary skin to allow episode information to be displayed in Video Top Info
                args['art']['tvshow.clearlogo'] = args['art'].get(
                    'clearlogo', '')
            else:
                self.media_type = 'movie'

            self.trakt_id = args['ids']['trakt']

            orginalArgs = json.loads(tools.unquote(self.original_action_args))

            if 'resume' in orginalArgs:
                if orginalArgs['resume'] == 'true':
                    self.tryGetBookmark()

            self.handleBookmark()

            item = tools.menuItem(path=stream_link)
            args['info']['FileNameAndPath'] = tools.unquote(stream_link)
            item.setInfo(type='video', infoLabels=args['info'])
            item.setArt(args['art'])
            item.setCast(args['cast'])
            item.setUniqueIDs(args['ids'])

            tools.closeBusyDialog()
            tools.closeAllDialogs()

            tools.resolvedUrl(syshandle, True, item)

            self.keepAlive()

        except:
            traceback.print_exc()
            pass
Exemplo n.º 5
0
    def getSourcesWorkaround2(self, actionArgs):

        item_information = tools.get_item_information(actionArgs)
        item = tools.menuItem(label=item_information['info']['title'])
        item.setArt(item_information['art'])
        item.setUniqueIDs(item_information['ids'])
        item.setInfo(type='video',
                     infoLabels=tools.clean_info_keys(
                         item_information['info']))
        tools.playList.add(
            url='plugin://plugin.video.%s?action=getSources&actionArgs=%s' %
            (tools.addonName.lower(), tools.quote(actionArgs)),
            listitem=item)
        tools.player().play(tools.playList)
Exemplo n.º 6
0
    def myFilesPlay(self, args):
        args = json.loads(args)

        if args['debrid_provider'] == 'real_debrid':
            resolved_link = real_debrid.RealDebrid().unrestrict_link(
                args['link'])
        elif args['debrid_provider'] == 'premiumize':
            resolved_link = args['link']
        else:
            raise IncorrectDebridProvider

        item = tools.menuItem(path=resolved_link)

        tools.resolvedUrl(syshandle, True, item)
Exemplo n.º 7
0
    def play_source(self, stream_link, args):

        try:
            self.pre_cache_initiated = False
            if stream_link is None:
                tools.playList.clear()
                raise Exception
            self.args = args

            if tools.checkOmniConnect():
                port = tools.getSetting('omni.port')
                stream_link = 'http://localhost:%s?BLASTURL=%s' % (port,
                                                                   stream_link)

            item = tools.menuItem(path=stream_link)

            if 'episodeInfo' in args:
                self.media_type = 'episode'
                self.trakt_id = args['episodeInfo']['ids']['trakt']
                item.setArt(args['episodeInfo']['art'])
                item.setInfo(type='video',
                             infoLabels=args['episodeInfo']['info'])
            else:
                self.media_type = 'movie'
                self.trakt_id = args['ids']['trakt']
                item.setArt(args['art'])
                item.setInfo(type='video', infoLabels=args['info'])

            if tools.playList.getposition() == 0 and tools.getSetting('smartPlay.traktresume') == 'true'\
                    and tools.getSetting('trakt.auth') is not '':
                tools.log('Getting Trakt Resume Point', 'info')
                self.traktBookmark()

            tools.resolvedUrl(syshandle, True, item)

            try:
                tools.busyDialog.close()
            except:
                pass

            self.keepAlive()

        except:
            import traceback
            traceback.print_exc()
Exemplo n.º 8
0
    def play_source(self, stream_link, args):

        try:
            self.pre_cache_initiated = False
            if stream_link is None:
                tools.cancelPlayback()
                raise Exception
            self.original_action_args = args

            args = tools.get_item_information(args)

            self.args = args

            item = tools.menuItem(path=stream_link)

            if 'showInfo' in args:
                self.media_type = 'episode'
                self.trakt_id = args['ids']['trakt']
                item.setArt(args['art'])
                item.setUniqueIDs(args['ids'])
                item.setInfo(type='video', infoLabels=args['info'])
            else:
                self.media_type = 'movie'
                self.trakt_id = args['ids']['trakt']
                item.setUniqueIDs(args['ids'])
                item.setArt(args['art'])
                item.setInfo(type='video', infoLabels=args['info'])

            if tools.playList.getposition() == 0 and tools.getSetting('smartPlay.traktresume') == 'true' \
                    and tools.getSetting('trakt.auth') is not '':
                tools.log('Getting Trakt Resume Point', 'info')
                self.traktBookmark()

            tools.resolvedUrl(syshandle, True, item)

            self.keepAlive()

            try:
                tools.closeBusyDialog()
            except:
                pass

        except:
            import traceback
            traceback.print_exc()
    def fill_providers(self, package_name=None):
        self.refresh_data()
        self.provider_list.reset()
        if package_name is None:
            self.provider_list.reset()
        provider_types = ['torrent', 'hosters']

        for provider_type in provider_types:

            for i in [
                    provider for provider in self.providers
                    if provider['package'] == package_name
                    and provider['provider_type'] == provider_type
            ]:

                item = tools.menuItem(label=i['provider_name'])
                for info in i.keys():
                    item.setProperty(info, i[info])

                self.provider_list.addItem(item)
Exemplo n.º 10
0
    def play_item(self, args):
        resolved_link = self.resolve_link(args)
        item = tools.menuItem(path=resolved_link)

        tools.resolvedUrl(syshandle, True, item)