Check-in [f48ad79aa1]
Overview
Comment: | Fix `links` plugin format: attribute; make it understood by channel.play() that a homepage-only row triggers the web browser. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
f48ad79aa146966bc51ed81ffc896fce |
User & Date: | mario on 2017-01-05 21:33:50 |
Other Links: | manifest | tags |
Context
2017-01-08
| ||
12:46 | Check for windows-style paths in specbuttons file lookup check-in: 49f14d5102 user: mario tags: trunk | |
2017-01-05
| ||
21:33 | Fix `links` plugin format: attribute; make it understood by channel.play() that a homepage-only row triggers the web browser. check-in: f48ad79aa1 user: mario tags: trunk | |
21:23 | Introduce FeaturePlugin as new base class for channels and all other plugins. Pre-defines the meta, module attributes and calls init2(). check-in: ea924e3c27 user: mario tags: trunk | |
Changes
Modified channels/__init__.py from [4a4e01489e] to [e9d8c94f99].
︙ | ︙ | |||
600 601 602 603 604 605 606 607 608 609 610 611 612 613 | row = self.row() if row and "url" in row: # playlist and audio type audioformat = row.get("format", self.audioformat) listformat = row.get("listformat", self.listformat) # invoke audio player action.play(row, audioformat, listformat) else: self.status("No station selected for playing.") return row # Start streamripper/youtube-dl/etc def record(self): row = self.row() | > > | 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 | row = self.row() if row and "url" in row: # playlist and audio type audioformat = row.get("format", self.audioformat) listformat = row.get("listformat", self.listformat) # invoke audio player action.play(row, audioformat, listformat) elif row.get("homepage") and row.get("format") == "text/html": action.browser(row["homepage"]) else: self.status("No station selected for playing.") return row # Start streamripper/youtube-dl/etc def record(self): row = self.row() |
︙ | ︙ |
Modified channels/links.py from [2ae7536a04] to [d07c682e01].
1 2 3 4 5 | # api: streamtuner2 # title: Links to directory services # description: Static list of various music directory websites. # type: group # category: web | | | < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | # api: streamtuner2 # title: Links to directory services # description: Static list of various music directory websites. # type: group # category: web # version: 0.3 # priority: standard # config: - # # Simply adds a "links" entry in bookmarks tab, where known services # are listed with homepage links. Registered plugins automatically # end up on top of that list. # from config import * from channels import * import copy # hooks into main.bookmarks class links (FeaturePlugin): # list streams = [ ] default = [ ("stream", "rad.io", "http://www.rad.io/"), ("stream", "RadioTower", "http://www.radiotower.com/"), ("stream", "8tracks", "http://8tracks.com/"), ("stream", "TuneIn", "http://tunein.com/"), |
︙ | ︙ | |||
59 60 61 62 63 64 65 | ("commercial", "Deezer", "http://www.deezer.com/features/music.html"), #("stream", "SurfMusik.de", "http://www.surfmusic.de/"), ] # prepare gui | | < | > | | | | | | | | | | 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | ("commercial", "Deezer", "http://www.deezer.com/features/music.html"), #("stream", "SurfMusik.de", "http://www.surfmusic.de/"), ] # prepare gui def init2(self, parent): if not parent: return # prepare target category bookmarks = parent.bookmarks if not bookmarks.streams.get(self.module): bookmarks.streams[self.module] = [] bookmarks.add_category(self.module) # fill it up later parent.hooks["init"].append(self.populate) def populate(self, parent): # Collect links from channel plugins for name,channel in parent.channels.items(): try: self.streams.append({ "favourite": 1, "genre": "channel", "title": channel.meta.get("title", channel.module), "homepage": channel.meta.get("url", ""), "format": "text/html", }) except Exception as e: log.ERR("links: adding entry failed:", e) # Add built-in link list for row in self.default: (genre, title, homepage) = row |
︙ | ︙ |