Check-in [494088b7d1]
Overview
Comment: | Change pluginconf lookups. Use only pkg basenames for configuration, but override channels.__path__ directly in module. Thus pluginconf can convert `plugin_base` into path list for module_list() scanning. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
494088b7d11af0c283da25bbc721cd72 |
User & Date: | mario on 2015-05-11 12:21:54 |
Other Links: | manifest | tags |
Context
2015-05-11
| ||
20:29 | Remove _ prefix from ls, rowmap, pix_entry, as features/search was already depending on literal rowmap. check-in: 6d1bd944fb user: mario tags: trunk | |
12:21 | Change pluginconf lookups. Use only pkg basenames for configuration, but override channels.__path__ directly in module. Thus pluginconf can convert `plugin_base` into path list for module_list() scanning. check-in: 494088b7d1 user: mario tags: trunk | |
11:18 | Switch dirble plugin to predeclare encoding="utf-8" for speed. check-in: 05806261b3 user: mario tags: trunk | |
Changes
Modified channels/__init__.py from [50c58e1601] to [4f19df3b1a].
︙ | |||
42 43 44 45 46 47 48 | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | - + | # Only export plugin classes __all__ = [ "GenericChannel", "ChannelPlugin", "use_rx", "entity_decode", "strip_tags", "nl", "unhtml", "to_int" ] |
︙ |
Modified config.py from [8242f27bc4] to [b35aebea3e].
︙ | |||
365 366 367 368 369 370 371 | 365 366 367 368 369 370 371 372 373 374 | - + | conf = ConfigDict() log.PROC("ConfigDict() initialized") # tie in pluginconf.* pluginconf.log_WARN = log.WARN pluginconf.log_ERR = log.ERR pluginconf.module_base = "config" |
Modified pluginconf.py from [a5813116de] to [33b1fa968d].
1 2 3 4 5 6 | 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 |
︙ | |||
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | + + + + + + + + + + + + + - + - + + - - | # # dependency().valid/depends() # ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ # Probes a new plugins` depends: list against installed base modules. # Very crude and tied to streamtuner2 base names. # # # Generally this scheme concerns itself more with plugin basenames. # That is: module scripts in a package like `ext.plg1` and `ext.plg2`. # It can be initialized by injecting the plugin-package basename into # plugin_base = []. The associated paths will be used for module # lookup via pkgutil.iter_modules(). # # And a central module can be extended with new lookup locations best # by attaching new locations itself via module.__path__ + ["./local"] # for example. # # Plugin loading thus becomes as simple as __import__("ext.local"). # The attachaed plugin_state config dictionary in most cases can just # list module basenames, if there's only one set to manage. import sys import os import re import pkgutil import inspect try: from compat2and3 import gzip_decode except: from gzip import decompress as gzip_decode # Py3 only import zipfile import argparse __all__ = ["get_data", "module_list", "plugin_meta", "dependency", "add_plugin_defaults"] # Injectables # ‾‾‾‾‾‾‾‾‾‾‾ log_ERR = lambda *x:None |
︙ | |||
112 113 114 115 116 117 118 | 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | - + - + + + + + + + + + - + | pass#log_ERR("get_data() didn't find:", fn, "in", file_base) # Plugin name lookup # ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ # Search through ./plugins/ (and other configured plugin_base |
︙ |