389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404 | # 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):
# try via pkgutil first
if module:
fn = module
for base in plugin_base:
try:
src = pkgutil.get_data(base, fn+".py") |
<
|
| 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
#
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") |