@@ -1,10 +1,10 @@ # encoding: UTF-8 # api: streamtuner2 -# title: reddit⛱ +# title: reddit # description: Music recommendations from reddit /r/music and associated subreddits. -# version: 0.8 +# version: 0.9 # type: channel # url: http://reddit.com/r/Music # category: playlist # config: # { name: reddit_pages, type: int, value: 2, description: Number of pages to fetch. } @@ -14,11 +14,12 @@ # iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJ1BMVEUAAAAcICX/AABHSk1jZ299hYz/bmajq6//lY/d0M3C1+3T7P38+/iaLhuGAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgF # HUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQffBRUXIyQbWArCAAAAh0lEQVQI12Pg3g0BDLtXrVq1eveq3Qy7gIxCU9dqEGO11/ZKbzBDenUIUM3u7cGi1UDFW0TE55wsdpZikAw/ # eebMnMmHGVxqDuUc0zzpynD4zIk5J3vOSDNsOQMG1gy7bI5HTq85Ws2wu/jM9PIzrkArdhmXlzuuXg00eVd5+epVqxmgrtgNAOWeS1KYtcY4AAAAAElFTkSuQmCC # priority: extra # -# Just imports Youtube links from music-related subreddits. +# Scans music-related subreddits for MP3/Youtube/Soundcloud +# links. # Those are usually new bands or fresh releases, or favorite # user selections. The category/subreddit list is filtered # for a minimum quote of usable links (namely Youtube URLs). # # If you have a custom audio player available for Soundcloud, @@ -92,11 +93,11 @@ "fidget", "frenchelectro", "frenchhouse", "funkhouse", "futurebeats", "FutureFunkAirlines", "FutureGarage", "futuresynth", "gabber", "glitch", "Grime", "happyhardcore", "hardhouse", "hardstyle", "house", "idm", "industrialmusic", "ItaloDisco", "latinhouse", "LiquidDubstep", "mashups", "minimal", "moombahcore", - "nightstep", "OldskoolRave", "partymusic", "plunderphonics", "psybient", + "nightstep", "OldskoolRave", "Outrun", "partymusic", "plunderphonics", "psybient", "PsyBreaks", "psytrance", "purplemusic", "raggajungle", "RealDubstep", "swinghouse", "tech_house", "Techno", "Trance", "tranceandbass", "tribalbeats", "ukfunky", "witchhouse", "wuuB"], # Rock / Metal @@ -209,10 +210,16 @@ "The_Residents", "RiseAgainst", "Rush", "SigurRos", "Slayer", "slipknot", "SmashingPumpkins", "SparksFTW", "TeganAndSara", "TheKillers", "TheOffspring", "TheStrokes", "TheMagneticZeros", "tragicallyhip", "ToolBand", "U2Band", "Umphreys", "UnicornsMusic", "velvetunderground", "Ween", "weezer", "WeirdAl", "yesband", "Zappa"], + + "DJs / Playlist →", + ["DJs", "PirateRadio", "Spotify", "Turntablists", "GroveSharkPlaylists"], + + "Midi", + ["midimusic", "MidiCovers", "ModernMidiMusic", "StarboundSongbase", "synthesizers"], ] # static def update_categories(self): @@ -254,20 +261,20 @@ r = [] for row in (ls["data"] for ls in data): # find links in text posts text_urls = re.findall("\]\((https?://(?:www\.)?youtu[^\"\'\]\)]+)", row.get("selftext", "")) - url_ext = (re.findall("\.(\w+)$", row["url"]) or [None])[0] + url_ext = (re.findall("\.(\w+)(?:$|[?&])", row["url"]) or [""])[0].lower() listformat = "href" state = "gtk-media-play" # Youtube URLs if re.search("youtu\.?be|vimeo|dailymotion", row["url"]): format = "video/youtube" listformat = "srv" # direct MP3/Ogg - elif url_ext in ("mp3", "ogg", "flac", "aac", "aacp"): + elif url_ext in ("mp3", "ogg", "flac", "aac", "aacp", "mid", "midi"): format = "audio/" + url_ext listformat = "srv" # playlists? elif url_ext in ("m3u", "pls", "xspf"): listformat = url_ext