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) )
|
| ︙ | ︙ |