Check-in [b43240711e]
Overview
| Comment: | Fix alternative checking with individual .cmp() ordering |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
b43240711efcafc425a1931e6494cf77 |
| User & Date: | mario on 2017-01-01 15:54:16 |
| Other Links: | manifest | tags |
Context
|
2017-01-02
| ||
| 20:46 | Fix old module names. check-in: a6e914a9fd user: mario tags: trunk | |
|
2017-01-01
| ||
| 15:54 | Fix alternative checking with individual .cmp() ordering check-in: b43240711e user: mario tags: trunk | |
| 15:33 | Remove full config folder for uninstall.cmd check-in: ce35771e44 user: mario tags: trunk | |
Changes
Modified pluginconf.py from [ce1d135d17] to [edb9d7acf4].
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.6 # 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. |
| ︙ | ︙ | |||
416 417 418 419 420 421 422 423 424 425 426 427 |
for name in core:
self.have[name] = plugin_meta(module=name, extra_base=["config"])
# aliases
for name, meta in self.have.items():
if meta.get("alias"):
for alias in re.split("\s*[,;]\s*", meta["alias"]):
self.have[alias] = self.have[name]
# depends:
def depends(self, plugin):
if plugin.get("depends"):
dep_cmp = self.deps(plugin["depends"])
| > > > > | > | | | 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 |
for name in core:
self.have[name] = plugin_meta(module=name, extra_base=["config"])
# aliases
for name, meta in self.have.items():
if meta.get("alias"):
for alias in re.split("\s*[,;]\s*", meta["alias"]):
self.have[alias] = self.have[name]
#dbg
#for name,meta in sorted(self.have.items()):
# print "HAVE ", name, " == ", meta.get("version")
# depends:
def depends(self, plugin):
r = True
if plugin.get("depends"):
dep_cmp = self.deps(plugin["depends"])
for alt_cmp in dep_cmp:
if not True in [self.cmp([d], self.have) for d in alt_cmp]:
r = False
return r
# basic list pre-filtering (skip __init__, filter by api:,
# exclude installed & same-version plugins)
def valid(self, newpl):
id = newpl.get("$name", "__invalid")
have_ver = self.have.get(id, {}).get("version", "0")
if id.find("__") == 0:
|
| ︙ | ︙ |