Check-in [a05da9d33d]
Overview
Comment: | Changed plugin config: options default registration to use full .meta[] now instead of just config[] list. Thus plugins can be enabled/disabled right away based on priority: field. (On first startup all channels will show up however.) |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
a05da9d33d38c2761e73caf60c987774 |
User & Date: | mario on 2015-04-02 15:28:34 |
Other Links: | manifest | tags |
Context
2015-04-02
| ||
15:29 | Adapted uikit.hbox to allow left or right column to be expanded/filled. check-in: f3f635ba8d user: mario tags: trunk | |
15:28 | Changed plugin config: options default registration to use full .meta[] now instead of just config[] list. Thus plugins can be enabled/disabled right away based on priority: field. (On first startup all channels will show up however.) check-in: a05da9d33d user: mario tags: trunk | |
15:27 | Fix config defaults registration. check-in: b49c38af77 user: mario tags: trunk | |
Changes
Modified channels/__init__.py from [3382badfa2] to [2254b1cf48].
︙ | ︙ | |||
113 114 115 116 117 118 119 | self.gtk_cat = None self.module = self.__class__.__name__ self.meta = plugin_meta(src = inspect.getcomments(inspect.getmodule(self))) self.config = self.meta.get("config", []) self.title = self.meta.get("title", self.module) # add default options values to config.conf.* dict | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | self.gtk_cat = None self.module = self.__class__.__name__ self.meta = plugin_meta(src = inspect.getcomments(inspect.getmodule(self))) self.config = self.meta.get("config", []) self.title = self.meta.get("title", self.module) # add default options values to config.conf.* dict conf.add_plugin_defaults(self.meta, self.module) # only if streamtuner2 is run in graphical mode if (parent): self.cache() self.gui(parent) pass |
︙ | ︙ |
Modified config.py from [ec183e5649] to [d4c58ff389].
︙ | ︙ | |||
120 121 122 123 124 125 126 | self.google_homepage = 0 self.windows = platform.system()=="Windows" self.pyquery = 1 self.debug = 0 # each plugin has a .config dict list, we add defaults here | | > | < | 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | self.google_homepage = 0 self.windows = platform.system()=="Windows" self.pyquery = 1 self.debug = 0 # each plugin has a .config dict list, we add defaults here def add_plugin_defaults(self, meta, module=""): # options config = meta.get("config", []) for opt in config: if ("name" in opt) and ("value" in opt) and (opt["name"] not in vars(self)): self.__dict__[opt["name"]] = opt["value"] # plugin state if module and module not in conf.plugins: conf.plugins[module] = meta.get("priority") in ("core", "builtin", "default", "standard") # http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html def xdg(self, path="/streamtuner2"): home = os.environ.get("HOME", self.tmp) config = os.environ.get("XDG_CONFIG_HOME", os.environ.get("APPDATA", home+"/.config")) |
︙ | ︙ |
Modified st2.py from [098afe2087] to [f737d4ecc1].
︙ | ︙ | |||
291 292 293 294 295 296 297 | # Recording: invoke streamripper for current stream URL def on_record_clicked(self, widget): row = self.row() self.action.record(row.get("url"), row.get("format", "audio/mpeg"), "url/direct", row=row) # Open stream homepage in web browser def on_homepage_stream_clicked(self, widget): | | | > > | | 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 | # Recording: invoke streamripper for current stream URL def on_record_clicked(self, widget): row = self.row() self.action.record(row.get("url"), row.get("format", "audio/mpeg"), "url/direct", row=row) # Open stream homepage in web browser def on_homepage_stream_clicked(self, widget): url = self.selected("homepage") if url and len(url): self.action.browser(url) else: self.status("No homepage URL present.") # Browse to channel homepage (double click on notebook tab) def on_homepage_channel_clicked(self, widget, event=2): if event == 2 or event.type == gtk.gdk._2BUTTON_PRESS: __print__(dbg.UI, "dblclick") url = self.channel().meta.get("url", "https://duckduckgo.com/?q=" + self.channel().module) self.action.browser(self.channel().url) # Reload stream list in current channel-category def on_reload_clicked(self, widget=None, reload=1): __print__(dbg.UI, "reload", reload, self.current_channel, self.channels[self.current_channel], self.channel().current) category = self.channel().current self.thread( lambda: ( self.channel().load(category,reload), reload and self.bookmarks.heuristic_update(self.current_channel,category) ) |
︙ | ︙ |