def Path(self, s):
        lib = Val("library")
        badc = '\\/?%*:|"<>.'  # remove bad filename chars

        s["artist"] = "".join(c for c in s["artist"] if c not in badc)
        s["album"] = "".join(c for c in s["album"] if c not in badc)
        s["title"] = "".join(c for c in s["title"] if c not in badc)

        s["path_cch"] = xbmc.translatePath(
            asciidamnit.asciiDammit("%s/%s - %s.%s" % (Val("cache"), s["artist"], s["title"], s["encoding"]))
        )
        s["path_dir"] = xbmc.translatePath(
            asciidamnit.asciiDammit("%s/%s/%s - %s" % (lib, s["artist"], s["artist"], s["album"]))
        )
        s["path_lib"] = xbmc.translatePath(
            asciidamnit.asciiDammit(
                "%s/%s/%s - %s/%s - %s.%s"
                % (lib, s["artist"], s["artist"], s["album"], s["artist"], s["title"], s["encoding"])
            )
        )
        s["path_alb"] = xbmc.translatePath(
            asciidamnit.asciiDammit("%s/%s/%s - %s/folder.jpg" % (lib, s["artist"], s["artist"], s["album"]))
        )
        s["path_art"] = xbmc.translatePath(
            asciidamnit.asciiDammit("%s/%s/folder.jpg" % (lib, s["artist"]))
        )  # .decode("utf-8")
    def Dir(self, handle):
        self.Login()

        ic = Val('icon')
        li = xbmcgui.ListItem('New Station ...')
        li.setIconImage(ic)
        li.setThumbnailImage(ic)
        xbmcplugin.addDirectoryItem(int(handle), "%s?search=hcraes" % _base, li, True)

        for s in self.Sorted():
            li = xbmcgui.ListItem(s['title'], s['token'])
            if self.station == s: li.select(True)

            art = Val("art-%s" % s['token'])
            if not art: art = s.get('art', ic)

            li.setIconImage(art)
            li.setThumbnailImage(art)

            title = asciidamnit.asciiDammit(s['title'])
            rurl = "RunPlugin(plugin://%s/?%s)" % (_id, urllib.urlencode({ 'rename' : s['token'], 'title' : title }))
            durl = "RunPlugin(plugin://%s/?%s)" % (_id, urllib.urlencode({ 'delete' : s['token'], 'title' : title }))
            surl = "RunPlugin(plugin://%s/?%s)" % (_id, urllib.urlencode({  'thumb' : s['token'], 'title' : title }))

            li.addContextMenuItems([('Rename Station', rurl),
                                    ('Delete Station', durl),
                                    ('Select Thumb',   surl), ])

            burl = "%s?%s" % (_base, urllib.urlencode({ 'play' : s['token'] }))
            xbmcplugin.addDirectoryItem(int(handle), burl, li)
#            Log(burl)

        xbmcplugin.endOfDirectory(int(handle), cacheToDisc = False)
        Log("Dir   OK %4s" % handle)
Exemple #3
0
    def Path(self, s):
        Log('def Path ', None, xbmc.LOGDEBUG)
        lib = Val('library')
        badc = '\\/?%*:|"<>.'  # remove bad filename chars

        s['artist'] = ''.join(c for c in s['artist'] if c not in badc)
        s['album'] = ''.join(c for c in s['album'] if c not in badc)
        s['title'] = ''.join(c for c in s['title'] if c not in badc)

        s['path_cch'] = xbmc.translatePath(
            asciidamnit.asciiDammit(
                "%s/%s - %s.%s" %
                (Val('cache'), s['artist'], s['title'], s['encoding'])))
        s['path_dir'] = xbmc.translatePath(
            asciidamnit.asciiDammit(
                "%s/%s/%s - %s" % (lib, s['artist'], s['artist'], s['album'])))
        s['path_m4a'] = xbmc.translatePath(
            asciidamnit.asciiDammit(
                "%s/%s/%s - %s/%s - %s.%s" %
                (lib, s['artist'], s['artist'], s['album'], s['artist'],
                 s['title'], 'm4a')))  #s['encoding'])))
        s['path_mp3'] = xbmc.translatePath(
            asciidamnit.asciiDammit(
                "%s/%s/%s - %s/%s - %s.%s" %
                (lib, s['artist'], s['artist'], s['album'], s['artist'],
                 s['title'], 'mp3')))  #s['encoding'])))
        s['path_lib'] = xbmc.translatePath(
            asciidamnit.asciiDammit("%s/%s/%s - %s/%s - %s.%s" %
                                    (lib, s['artist'], s['artist'], s['album'],
                                     s['artist'], s['title'], s['encoding'])))
        s['path_alb'] = xbmc.translatePath(
            asciidamnit.asciiDammit(
                "%s/%s/%s - %s/folder.jpg" %
                (lib, s['artist'], s['artist'], s['album'])))
        s['path_art'] = xbmc.translatePath(
            asciidamnit.asciiDammit("%s/%s/folder.jpg" %
                                    (lib, s['artist'])))  #.decode("utf-8")

        title = ''.join(c for c in self.station['title'] if c not in badc)
        s['path_m3u'] = xbmc.translatePath(
            asciidamnit.asciiDammit("%s/%s.m3u" % (lib, title)))
        s['path_rel'] = xbmc.translatePath(
            asciidamnit.asciiDammit("%s/%s - %s/%s - %s.%s" %
                                    (s['artist'], s['artist'], s['album'],
                                     s['artist'], s['title'], s['encoding'])))
Exemple #4
0
    def Dir(self, handle):
        Log('def Dir ', None, xbmc.LOGDEBUG)
        self.Login()

        ic = Val('icon')
        li = xbmcgui.ListItem('New Station ...')
        li.setIconImage(ic)
        li.setThumbnailImage(ic)
        xbmcplugin.addDirectoryItem(int(handle), "%s?search=hcraes" % _base,
                                    li, True)

        for s in self.Sorted():
            li = xbmcgui.ListItem(s['title'], s['token'])
            if self.station == s: li.select(True)

            art = Val("art-%s" % s['token'])
            if not art: art = s.get('art', ic)

            li.setIconImage(art)
            li.setThumbnailImage(art)

            title = asciidamnit.asciiDammit(s['title'])
            rurl = "RunPlugin(plugin://%s/?%s)" % (
                _id, urllib.urlencode({
                    'rename': s['token'],
                    'title': title
                }))
            durl = "RunPlugin(plugin://%s/?%s)" % (
                _id, urllib.urlencode({
                    'delete': s['token'],
                    'title': title
                }))
            surl = "RunPlugin(plugin://%s/?%s)" % (
                _id, urllib.urlencode({
                    'thumb': s['token'],
                    'title': title
                }))

            li.addContextMenuItems([
                ('Rename Station', rurl),
                ('Delete Station', durl),
                ('Select Thumb', surl),
            ])

            burl = "%s?%s" % (_base, urllib.urlencode({'play': s['token']}))
            xbmcplugin.addDirectoryItem(int(handle), burl, li)
#            Log(burl)

        xbmcplugin.endOfDirectory(int(handle), cacheToDisc=False)
        # wait for the window to appear in Kodi before continuing
        xbmc.sleep(3000)
        Log("Dir   OK %4s" % handle, None, xbmc.LOGINFO)
    def Path(self, s):
        lib  = Val('library')
        badc = '\\/?%*:|"<>.'		# remove bad filename chars

        s['artist'] = ''.join(c for c in s['artist'] if c not in badc)
        s['album']  = ''.join(c for c in s['album']  if c not in badc)
        s['title']  = ''.join(c for c in s['title']  if c not in badc)

        s['path_cch'] = xbmc.translatePath(asciidamnit.asciiDammit("%s/%s - %s.%s"            % (Val('cache'), s['artist'], s['title'],  s['encoding'])))
        s['path_dir'] = xbmc.translatePath(asciidamnit.asciiDammit("%s/%s/%s - %s"            % (lib,          s['artist'], s['artist'], s['album'])))
        s['path_m4a'] = xbmc.translatePath(asciidamnit.asciiDammit("%s/%s/%s - %s/%s - %s.%s" % (lib,          s['artist'], s['artist'], s['album'], s['artist'], s['title'], 'm4a'))) #s['encoding'])))
        s['path_mp3'] = xbmc.translatePath(asciidamnit.asciiDammit("%s/%s/%s - %s/%s - %s.%s" % (lib,          s['artist'], s['artist'], s['album'], s['artist'], s['title'], 'mp3'))) #s['encoding'])))
        s['path_lib'] = xbmc.translatePath(asciidamnit.asciiDammit("%s/%s/%s - %s/%s - %s.%s" % (lib,          s['artist'], s['artist'], s['album'], s['artist'], s['title'], s['encoding'])))
        s['path_alb'] = xbmc.translatePath(asciidamnit.asciiDammit("%s/%s/%s - %s/folder.jpg" % (lib,          s['artist'], s['artist'], s['album'])))
        s['path_art'] = xbmc.translatePath(asciidamnit.asciiDammit("%s/%s/folder.jpg"         % (lib,          s['artist']))) #.decode("utf-8")

        title = ''.join(c for c in self.station['title'] if c not in badc)
        s['path_m3u'] = xbmc.translatePath(asciidamnit.asciiDammit("%s/%s.m3u"                % (lib, title)))
        s['path_rel'] = xbmc.translatePath(asciidamnit.asciiDammit(   "%s/%s - %s/%s - %s.%s" % (     s['artist'], s['artist'], s['album'], s['artist'], s['title'], s['encoding'])))
    def Dir(self, handle):
        self.Login()

        ic = Val("icon")
        li = xbmcgui.ListItem("New Station ...")
        li.setIconImage(ic)
        li.setThumbnailImage(ic)
        xbmcplugin.addDirectoryItem(int(handle), "%s?search=hcraes" % _base, li, True)

        for s in self.Sorted():
            li = xbmcgui.ListItem(s["title"], s["token"])
            if self.station == s:
                li.select(True)

            art = Val("art-%s" % s["token"])
            if not art:
                art = s.get("art", ic)

            li.setIconImage(art)
            li.setThumbnailImage(art)

            title = asciidamnit.asciiDammit(s["title"])
            li.addContextMenuItems(
                [
                    (
                        "Rename Station",
                        "RunPlugin(plugin://%s/?%s)" % (_id, urllib.urlencode({"rename": s["token"], "title": title})),
                    ),
                    (
                        "Delete Station",
                        "RunPlugin(plugin://%s/?%s)" % (_id, urllib.urlencode({"delete": s["token"], "title": title})),
                    ),
                    (
                        "Select Thumb",
                        "RunPlugin(plugin://%s/?%s)" % (_id, urllib.urlencode({"thumb": s["token"], "title": title})),
                    ),
                ]
            )

            xbmcplugin.addDirectoryItem(int(handle), "%s?%s" % (_base, urllib.urlencode({"play": s["token"]})), li)

        xbmcplugin.endOfDirectory(int(handle), cacheToDisc=False)
        Log("Dir   OK %4s" % handle)