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)
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'])))
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)