389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
|
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
|
-
-
+
|
# Extremely crude version for Python and streamtuner2 plugin usage.
# But can fetch from different sources:
# ยท fn= to read from literal files, out of a .pyzip package
# ยท src= to extract from pre-read script code
# ยท module= utilizes pkgutil to read
# ยท frame= automatically extract comment header from caller
#
plugin_base = ("channels", "plugins")
def plugin_meta(fn=None, src=None, module=None, frame=1):
def plugin_meta(fn=None, src=None, module=None, frame=1, plugin_base=["channels", "plugins"]):
# try via pkgutil first
if module:
fn = module
for base in plugin_base:
try:
src = pkgutil.get_data(base, fn+".py")
|