Index: contrib/recordflags.py ================================================================== --- contrib/recordflags.py +++ contrib/recordflags.py @@ -53,10 +53,12 @@ # settings cfg_widget_pfx = "recordoptions_config_" widgets = {} # available options per recording tool + # · each dict here is basically a plugin meta data block, + # · with config=[] being applied by configwin.save/load/add_widgets flag_meta = { "streamripper": { "title": "streamripper", "priority": "required", "type": "app", @@ -171,11 +173,11 @@ { "name": "O", "arg": "-O", "type": "str", "description": "-O Output to file", "value": "" }, { "name": "dir", "arg": "-P", "type": "str", "description": "-P Directory prefix", "value": "" }, # meta { "name": "v", "arg": "-v", "type": "bool", "description": "-v Verbose mode", "value": False, "category": "meta" }, { "name": "d", "arg": "-d", "type": "bool", "description": "-d Debug mode", "value": False, "category": "meta" }, - { "name": "enc", "arg": "--local-encoding", "type": "select", "select": "UTF-8|ISO-8859-1|ISO-8859-15", "description": "--local-encoding", "value": False, "category": "meta" }, + { "name": "enc", "arg": "--local-encoding", "type": "select", "select": "UTF-8|ISO-8859-1|ISO-8859-15", "description": "--local-encoding", "value": "", "category": "meta" }, { "name": "e", "arg": "-e", "type": "str", "description": "-e wgetrc-command", "value": "", "category": "meta" }, # net { "name": "noch", "arg": "--no-cache", "type": "bool", "description": "-S No cached files", "value": False, "category": "net" }, { "name": "limit", "arg": "--limit-rate", "type": "int", "description": "--limit-rate Max download speed", "value": 0, "category": "net" }, { "name": "S", "arg": "-S", "type": "bool", "description": "-S Show response headers", "value": False, "category": "net" }, @@ -294,11 +296,13 @@ p.win_recordoptions.show() # populate config widgets, seth defaults/current settings def load_config_widgets(self, row, group="streamripper", p=None): # clean up previous - [vbox.remove(w) for vbox in self.cfg_vbox.values() for w in vbox.get_children()] + for vbox in self.cfg_vbox.values(): + for w in vbox.get_children(): + vbox.remove(w) # add plugins self.parent.configwin.add_plg( group, self.flag_meta[group], self.pack_option, self.cfg_widget_pfx ) # set values