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

⌈⌋ ⎇ branch:  streamtuner2


Diff

Differences From Artifact [761166da1a]:

To Artifact [0cd7c1b0ab]:


47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64

    # Fetch streams from category, show "Save as" dialog, then convert URLs and export as playlist file
    def savewindow(self, *w):
        cn = self.parent.channel()
        source = cn.listformat
        streams = cn.streams[cn.current]
        category = re.sub(r"[^\w&-+]+", "_", cn.current)
        fn = uikit.save_file("Export category", None, "%s.%s.%s" % (cn.module, category, "xspf"))
        log.PROC("Exporting category to", fn)
        if fn:
            dest = re.findall("\.(m3u|pls|xspf|jspf|json|smil|asx|desktop|url)8?$", fn.lower())
            if dest:
                dest = dest[0]
            else:
                self.parent.status("Unsupported export playlist type (file extension).")
                return
            action.save_playlist(source="asis", multiply=False).file(rows=streams, fn=fn, dest=dest)
        pass            







|










47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64

    # Fetch streams from category, show "Save as" dialog, then convert URLs and export as playlist file
    def savewindow(self, *w):
        cn = self.parent.channel()
        source = cn.listformat
        streams = cn.streams[cn.current]
        category = re.sub(r"[^\w&-+]+", "_", cn.current)
        fn = uikit.save_file("Export category", None, "%s.%s.%s" % (cn.module, category, "pls"))
        log.PROC("Exporting category to", fn)
        if fn:
            dest = re.findall("\.(m3u|pls|xspf|jspf|json|smil|asx|desktop|url)8?$", fn.lower())
            if dest:
                dest = dest[0]
            else:
                self.parent.status("Unsupported export playlist type (file extension).")
                return
            action.save_playlist(source="asis", multiply=False).file(rows=streams, fn=fn, dest=dest)
        pass