Check-in [120249ab54]
Overview
Comment: | Simplify core plugin dependency lookups. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
120249ab54179255ace5f876aebaf7a0 |
User & Date: | mario on 2015-05-05 10:44:03 |
Other Links: | manifest | tags |
Context
2015-05-05
| ||
10:45 | Readd plugin_base paths in addition to module basenames, otherwise pluginconf.get_data won't find plugins/* either in the module_list() or per get_data() - one uses paths, the other pkg names. check-in: 68107d7f9a user: mario tags: trunk | |
10:44 | Simplify core plugin dependency lookups. check-in: 120249ab54 user: mario tags: trunk | |
10:43 | Support direct URLs in DND import (only used as literal url=, brings up streamedit window afterwards). check-in: 5fe8de1fd7 user: mario tags: trunk | |
Changes
Modified pluginconf.py from [e41a1aac5c] to [16bafd8a99].
︙ | ︙ | |||
107 108 109 110 111 112 113 | if gz: bin = gzip_decode(bin) if decode: return bin.decode("utf-8", errors='ignore') else: return str(bin) except: | | | 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | if gz: bin = gzip_decode(bin) if decode: return bin.decode("utf-8", errors='ignore') else: return str(bin) except: pass#log_WARN("get_data() didn't find:", fn, "in", file_base) # Plugin name lookup # ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ # Search through ./plugins/ (and other configured plugin_base # names or paths) and get module basenames. |
︙ | ︙ | |||
159 160 161 162 163 164 165 | # Try via pkgutil first, # find any plugins.* modules, or main packages if module: fn = module for base in plugin_base + extra_base: try: | | | 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | # Try via pkgutil first, # find any plugins.* modules, or main packages if module: fn = module for base in plugin_base + extra_base: try: src = get_data(fn=fn+".py", decode=True, file_base=base) if src: break except: continue # plugin_meta_extract() will print a notice later # Real filename/path elif fn and os.path.exists(fn): src = open(fn).read(4096) |
︙ | ︙ | |||
377 378 379 380 381 382 383 | # class dependency(object): # prepare list of known plugins and versions def __init__(self): self.have = all_plugin_meta() # dependencies on core modules are somewhat more interesting: | < < < | | < > | 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 | # class dependency(object): # prepare list of known plugins and versions def __init__(self): self.have = all_plugin_meta() # dependencies on core modules are somewhat more interesting: for name in ("st2", "uikit", "config", "action"): self.have[name] = plugin_meta(module=name, extra_base=["config"]) self.have["streamtuner2"] = self.have["st2"] have = {} # depends: def depends(self, plugin): if plugin.get("depends"): d = self.deps(plugin["depends"]) if not self.cmp(d, self.have): |
︙ | ︙ |