Index: channels/dnd.py ================================================================== --- channels/dnd.py +++ channels/dnd.py @@ -55,11 +55,11 @@ # Drag and Drop support class dnd(object): - module = "dnd" + module = __name__ meta = plugin_meta() # Keeps selected row on starting DND event row = None # Buffer converted types Index: channels/exportcat.py ================================================================== --- channels/exportcat.py +++ channels/exportcat.py @@ -34,11 +34,11 @@ # provides another export window, and custom file generation - does not use action.save() class exportcat(): meta = plugin_meta() - module = "exportcat" + module = __name__ # Register callback def __init__(self, parent): conf.add_plugin_defaults(self.meta, self.module) if parent: Index: channels/favicon.py ================================================================== --- channels/favicon.py +++ channels/favicon.py @@ -72,11 +72,11 @@ # Hook up as feature plugin # class favicon(object): # plugin attributes - module = "favicon" + module = __name__ meta = plugin_meta() # Register with main def __init__(self, parent): Index: channels/filter_bitrate.py ================================================================== --- channels/filter_bitrate.py +++ channels/filter_bitrate.py @@ -27,11 +27,11 @@ # Filter streams by bitrate class filter_bitrate(object): meta = plugin_meta() - module = "filter_bitrate" + module = __name__ # Hijack postprocessing filters in stream_update handler def __init__(self, parent): GenericChannel.postprocess_filters.append(self.filter_rows) Index: channels/global_key.py ================================================================== --- channels/global_key.py +++ channels/global_key.py @@ -28,11 +28,11 @@ # register a key class global_key(object): # control attributes - module = "global_key" + module = __name__ meta = plugin_meta() last = 0 # register Index: channels/history.py ================================================================== --- channels/history.py +++ channels/history.py @@ -18,20 +18,21 @@ class history: # plugin attributes - module = "history" + module = __name__ meta = plugin_meta() # store bm = None # hook up to main tab def __init__(self, parent): self.config = self.meta["config"] + conf.add_plugin_defaults(self.meta, self.module) # keep reference to main window self.bm = parent.channels["bookmarks"] # create category Index: channels/links.py ================================================================== --- channels/links.py +++ channels/links.py @@ -21,11 +21,11 @@ # hooks into main.bookmarks class links (object): # plugin info - module = "links" + module = __name__ meta = plugin_meta() # list streams = [ ] default = [ Index: channels/pluginmanager2.py ================================================================== --- channels/pluginmanager2.py +++ channels/pluginmanager2.py @@ -46,11 +46,11 @@ # Plugin manager class pluginmanager2(object): - module = "pluginmanager2" + module = __name__ meta = plugin_meta() parent = None vbox = None Index: channels/radiotray.py ================================================================== --- channels/radiotray.py +++ channels/radiotray.py @@ -40,11 +40,11 @@ # not a channel plugin, just a category in bookmarks, and a context menu class radiotray: # plugin info - module = "radiotray" + module = __name__ meta = plugin_meta() # bookmarks cat parent = None bm = None # radiotray config file / bookmarks Index: channels/specbuttons.py ================================================================== --- channels/specbuttons.py +++ channels/specbuttons.py @@ -28,22 +28,26 @@ import os.path import subprocess import math import re -from config import conf, log +from config import conf, log, plugin_meta import action from uikit import gtk # Extra/mini buttons in toolbar class specbuttons(object): + meta = plugin_meta() module = __name__ # Hook toolbar label def __init__(self, parent): + if not parent: + return self.parent = parent + conf.add_plugin_defaults(self.meta, self.module) self.specbuttons = parent.get_widget("specbuttons") parent.hooks["init"].append(self.update_buttons) parent.hooks["config_save"].append(self.update_paths) parent.specbuttons.show() Index: channels/surfmusik.py ================================================================== --- channels/surfmusik.py +++ channels/surfmusik.py @@ -41,11 +41,11 @@ # Surfmusik sharing site class surfmusik (ChannelPlugin): # module attributes - module = "surfmusik" + module = __name__ listformat = "m3u" has_search = False lang = "DE" # last configured categories base = { "DE": ("http://www.surfmusik.de/", "genre/", "land/"), Index: channels/timer.py ================================================================== --- channels/timer.py +++ channels/timer.py @@ -39,11 +39,11 @@ # timed events (play/record) within bookmarks tab class timer: # plugin info - module = "timer" + module = __name__ meta = plugin_meta() # configuration settings timefield = "playing" Index: channels/useragentswitcher.py ================================================================== --- channels/useragentswitcher.py +++ channels/useragentswitcher.py @@ -22,11 +22,11 @@ # override ahttp.session headers, hooks into config dialog class useragentswitcher(): - module = "useragentswitcher" + module = __meta__ meta = plugin_meta() map = { "default": "streamtuner2/2.1 (X11; Linux amd64; rv:33.0) like WinAmp/2.1", "vlc": "vlc 1.1.0-git-20100330-0003", "firefox": "Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0", Index: contrib/disabled/win_theme_rezlooks.py ================================================================== --- contrib/disabled/win_theme_rezlooks.py +++ contrib/disabled/win_theme_rezlooks.py @@ -1,11 +1,11 @@ # api: streamtuner2 # title: Default Windows theme # description: Use "Rezlooks-dark" as default theme on Windows for SFX/EXE installer # type: feature # category: ui -# priority: default +# priority: optional # pack: win_theme_rezlooks.py=../channels/ # depends: librezlooks.dll # version: -1 # author: Doug Whiteley # license: GNU GPL Index: contrib/gtk_theme.py ================================================================== --- contrib/gtk_theme.py +++ contrib/gtk_theme.py @@ -28,11 +28,11 @@ # register a key class gtk_theme(object): # plugin info - module = "gtk_theme" + module = __name__ meta = plugin_meta() theme_dirs = [uikit.gtk.rc_get_theme_dir(), conf.dir + "/themes", conf.share + "/themes"] # register def __init__(self, parent): Index: contrib/podspider.py ================================================================== --- contrib/podspider.py +++ contrib/podspider.py @@ -56,11 +56,11 @@ # PODlist from Radiograbber class podspider (ChannelPlugin): # pi info - module = "podspider" + module = __name__ homepage = "http://www.radiograbber.de/" listformat = "rss" # data config = [ Index: contrib/prefstore.py ================================================================== --- contrib/prefstore.py +++ contrib/prefstore.py @@ -21,12 +21,12 @@ # hooks three functions to the main extension menu class prefstore(): + module = __name__ meta = plugin_meta() - module = "prefstore" # Register callback def __init__(self, parent): if not parent: return Index: contrib/reciva.py ================================================================== --- contrib/reciva.py +++ contrib/reciva.py @@ -36,11 +36,11 @@ # Reciva directory class reciva (ChannelPlugin): # module attributes - module = "reciva" + module = __name__ listformat = "pls" has_search = True categories = ['60s', '70s', '80s', '90s', 'Adult', ['Adult Contemporary'], 'Alternative', 'Ambient', 'Bluegrass', 'Blues', 'Bollywood', 'Christian', ['Christian Contemporary'], 'Classic Rock', 'Classical', 'College', 'Comedy', 'Contemporary', 'Country', 'Dance', 'Discussion', 'Easy', 'Electronica', 'Experimental', 'Folk', 'Gospel', 'Greek', 'Hip Hop', 'Indian', 'Indie', ['Indie Rock'], 'Jazz', 'Jungle', 'Kids', 'Latin Hits', 'New Age', 'News', ['News Talk', 'News Updates'], 'Oldies', 'Pop', 'Public', 'Punk', 'Rap', 'Reggae', 'Religious', 'Rock', 'Short Wave Radio', 'Soft Rock', 'Spanish', 'Sports', 'Talk', 'Top 40', 'Unknown', 'Varied', 'World', ['World Africa', 'World Asia', 'World Caribbean', 'World Europe', 'World Mediterranean', 'World Middle East', 'World Tropical']] catmap = { 'classical': '14', 'dance': '18', 'bluegrass': '52', 'contemporary': '16', 'pop': '34', 'spanish': '66', 'college': '15', 'rap': '38', 'ambient': '69', 'talk': '43', 'alternative': '9', 'religious': '39', 'blues': '10', 'folk': '23', 'classic rock': '13', '90s': '7', 'adult contemporary': '8', 'oldies': '33', 'indie rock': '54', 'electronica': '21', 'unknown': '45', 'discussion': '19', 'news talk': '31', 'world mediterranean': '55', 'sports': '42', 'new age': '51', 'indie': '27', 'indian': '65', 'easy': '20', '80s': '6', 'world africa': '67', 'comedy': '62', 'public': '35', 'jungle': '72', 'reggae': '48', 'world middle east': '50', 'christian': '11', 'world caribbean': '68', '60s': '58', 'world europe': '56', 'jazz': '28', '70s': '5', 'soft rock': '41', 'top 40': '44', 'adult': '57', 'news': '30', 'bollywood': '60', 'world tropical': '53', 'latin hits': '29', 'varied': '46', 'christian contemporary': '12', 'kids': '59', 'short wave radio': '73', 'world': '49', 'world asia': '47', 'country': '17', 'news updates': '32', 'punk': '36', 'greek': '25', 'hip hop': '26', 'rock': '40', 'gospel': '24', 'experimental': '22' } titles = dict( genre="Genre", title="Station", playing="Location", bitrate="Bitrate", listeners=False ) Index: contrib/url_soundcloud.py ================================================================== --- contrib/url_soundcloud.py +++ contrib/url_soundcloud.py @@ -70,13 +70,13 @@ # # Would need more generalized processing of custom URL schemes. But so # far only the reddit module uses them anyway. # class url_soundcloud(object): - module = "url_soundcloud" + module = __name__ # override action.play() with wrapper def __init__(self, parent, *a, **kw): conf.play[fmt] = "false / convert" #conf.filter_walledgardens = False action.handler[fmt] = sndcl_convert Index: contrib/vtuner.py ================================================================== --- contrib/vtuner.py +++ contrib/vtuner.py @@ -34,11 +34,11 @@ # vTuner directory class vtuner (ChannelPlugin): # module attributes - module = "vtuner" + module = __name__ listformat = "pls" has_search = False categories = [ 'Alternative', 'Ambient', 'Big Band', 'Bluegrass', 'Blues', 'Business News', 'Celtic', 'Christian Contemporary', 'Christian Rock',