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

⌈⌋ branch:  streamtuner2


Diff

Differences From Artifact [ad58239673]:

To Artifact [cbe5c8fdc6]:


267
268
269
270
271
272
273
274


275
276
277
278
279
280
281
267
268
269
270
271
272
273

274
275
276
277
278
279
280
281
282







-
+
+






                return netrc[server]


    # Use config:-style definitions for argv extraction,
    # such as: { arg: -D, name: debug, type: bool }
    def init_args(self, ap):
        for opt in plugin_meta(frame=0).get("config"):
            if [kwargs for kwargs in [self.argparse_map(opt)]]:
            kwargs = self.argparse_map(opt)
            if kwargs:
                #print kwargs
                ap.add_argument(*kwargs.pop("args"), **kwargs)
        return ap.parse_args()


    # Copy args fields into conf. dict
    def apply_args(self, args):
337
338
339
340
341
342
343
344

345
346
347
348
349
350
351
338
339
340
341
342
343
344

345
346
347
348
349
350
351
352







-
+






#
def get_data(fn, decode=False, gz=False, file_base="config"):
    try:
        bin = pkgutil.get_data(file_base, fn)
        if gz:
            bin = gzip_decode(bin)
        if decode:
            return bin.decode("utf-8")
            return bin.decode("utf-8", errors='ignore')
        else:
            return str(bin)
    except:
        pass


# Search through ./channels/ and get module basenames.
393
394
395
396
397
398
399
400

401
402
403
404
405
406
407
394
395
396
397
398
399
400

401
402
403
404
405
406
407
408







-
+






            intfn = add + "/" + intfn
        if len(fn) >= 3 and intfn and zipfile.is_zipfile(fn):
            src = zipfile.ZipFile(fn, "r").read(intfn.strip("/"))
            
    if not src:
        src = ""
    if type(src) is not str:
        src = src.decode("utf-8")
        src = src.decode("utf-8", errors='replace')

    return plugin_meta_extract(src, fn)


# Actual comment extraction logic
def plugin_meta_extract(src="", fn=None, literal=False):