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