Check-in [daf3f873bd]
Overview
Comment: | fix for runtime error (dictionary changed size during iteration) on plugin alias: detection |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
daf3f873bdf84b9ca1fca9bba7a3e16a |
User & Date: | mario on 2019-07-16 07:47:07 |
Other Links: | manifest | tags |
Context
2019-07-16
| ||
07:48 | Dead-end update for radiolist.net channel (only titles+homepages now). check-in: 215234ddad user: mario tags: trunk | |
07:47 | fix for runtime error (dictionary changed size during iteration) on plugin alias: detection check-in: daf3f873bd user: mario tags: trunk | |
2019-07-15
| ||
14:38 | Add status messages for HTTP error responses check-in: c4b52b30d4 user: mario tags: trunk | |
Changes
Modified pluginconf.py from [b740a1a82c] to [df594147c1].
1 2 3 4 5 6 | # encoding: UTF-8 # api: python # type: handler # category: io # title: Plugin configuration # description: Read meta data, pyz/package contents, module locating | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # encoding: UTF-8 # api: python # type: handler # category: io # title: Plugin configuration # description: Read meta data, pyz/package contents, module locating # version: 0.6.9 # priority: core # docs: http://fossil.include-once.org/streamtuner2/wiki/plugin+meta+data # config: - # # Provides plugin lookup and meta data extraction utility functions. # It's used to abstract module+option management in applications. # For consolidating internal use and external/tool accessibility. |
︙ | ︙ | |||
413 414 415 416 417 418 419 | self.have[name] = meta # read plugins/* self.have.update(all_plugin_meta()) # add core modules for name in core: self.have[name] = plugin_meta(module=name, extra_base=["config"]) # aliases | | | 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 | self.have[name] = meta # read plugins/* self.have.update(all_plugin_meta()) # add core modules for name in core: self.have[name] = plugin_meta(module=name, extra_base=["config"]) # aliases for name, meta in self.have.copy().items(): if meta.get("alias"): for alias in re.split("\s*[,;]\s*", meta["alias"]): self.have[alias] = self.have[name] # basic plugin pre-screening (skip __init__, filter by api:, # exclude installed & same-version plugins) def valid(self, newpl, _log=lambda *x:0): |
︙ | ︙ |