Internet radio browser GUI for music/video streams from various directory services.

⌈⌋ branch:  streamtuner2


Diff

Differences From Artifact [3b2e370ba5]:

To Artifact [ce628208a5]:


51
52
53
54
55
56
57


58
59
60
61
62
63
64
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66







+
+






class recordflags (FeaturePlugin):

    # 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",
            "category": "recording",
            "version": "1.64.6",
169
170
171
172
173
174
175
176

177
178
179
180
181
182
183
171
172
173
174
175
176
177

178
179
180
181
182
183
184
185







-
+






                { "name":"nc", "arg":"-nc", "type": "bool", "description": "<b>-nc</b> No-clobber, keep existing files.", "value": False },
                { "name": "N", "arg": "-N", "type": "bool", "description": "<b>-N</b> Only fetch newer files", "value": False },
                { "name": "O", "arg": "-O", "type": "str",  "description": "<b>-O</b> Output to file", "value": "" },
                { "name": "dir", "arg": "-P", "type": "str",  "description": "<b>-P</b> Directory prefix", "value": "" },
                # meta
                { "name": "v", "arg": "-v", "type": "bool", "description": "<b>-v</b> Verbose mode", "value": False, "category": "meta" },
                { "name": "d", "arg": "-d", "type": "bool", "description": "<b>-d</b> Debug mode", "value": False, "category": "meta" },
                { "name": "enc", "arg": "--local-encoding", "type": "select", "select": "UTF-8|ISO-8859-1|ISO-8859-15", "description": "<b>--local-encoding</b>", "value": False, "category": "meta" },
                { "name": "enc", "arg": "--local-encoding", "type": "select", "select": "UTF-8|ISO-8859-1|ISO-8859-15", "description": "<b>--local-encoding</b>", "value": "", "category": "meta" },
                { "name": "e", "arg": "-e", "type": "str",  "description": "<b>-e</b> wgetrc-command", "value": "", "category": "meta" },
                # net
                { "name": "noch", "arg": "--no-cache", "type": "bool", "description": "<b>-S</b> No cached files", "value": False, "category": "net" },
                { "name": "limit", "arg": "--limit-rate", "type": "int", "description": "<b>--limit-rate</b> Max download speed", "value": 0, "category": "net" },
                { "name": "S", "arg": "-S", "type": "bool", "description": "<b>-S</b> Show response headers", "value": False, "category": "net" },
                { "name": "U", "arg": "-U", "type": "str",  "description": "<b>-U</b> Useragent to send", "value": "", "category": "net" },
                { "name": "ref", "arg": "--referer", "type": "str",  "description": "<b>--referer</b> to send", "value": "", "category": "net" },
292
293
294
295
296
297
298
299



300
301
302
303
304
305
306
294
295
296
297
298
299
300

301
302
303
304
305
306
307
308
309
310







-
+
+
+






        self.load_config_widgets(row, self.app, p)
        # show window
        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
        self.parent.configwin.load_config(
            self.configdict_from_args(row), self.cfg_widget_pfx, widgets=self.widgets