Index: st2.py ================================================================== --- st2.py +++ st2.py @@ -36,14 +36,14 @@ # standard modules import sys -import os, os.path +import os import re -from collections import namedtuple from copy import copy +import inspect import traceback from threading import Thread # add library path sys.path.insert(0, "/usr/share/streamtuner2") # pre-defined directory for modules @@ -80,20 +80,20 @@ "play": [favicon.download_playing], # observers queue here "init": [], "config_load": [], "config_save": [], } - __version__ = "2.1.5" + meta = plugin_meta() # status variables channel_names = ["bookmarks"] # order of channel notebook tabs current_channel = "bookmarks" # currently selected channel name (as index in self.channels{}) # constructor def __init__(self): - + # gtkrc stylesheet self.load_theme(), gui_startup(1/20.0) # instantiate gtk/glade widgets in current object gtk.Builder.__init__(self) @@ -416,11 +416,12 @@ elif module in self.features or module in self.channels: continue # load plugin try: - plugin = __import__("channels."+module, None, None, [""]) + plugin = __import__("channels."+module, globals(), None, [""]) + #print [name for name,c in inspect.getmembers(plugin) if inspect.isclass(c)] plugin_class = plugin.__dict__[module] plugin_obj = plugin_class(parent=self) # load .config settings from plugin conf.add_plugin_defaults(plugin_obj.meta["config"], module)