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

⌈⌋ ⎇ branch:  streamtuner2


Check-in [4cbc0911f6]

Overview
Comment:Guard empty streams["common"] dict.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 4cbc0911f66514a6e83765a86ee0bc0d49d15935
User & Date: mario on 2017-01-02 20:47:09
Other Links: manifest | tags
Context
2017-01-02
20:48
Support for #depends: and #breaks:, and optionally bin:… and python:… checks. check-in: 87e5798b35 user: mario tags: trunk
20:47
Guard empty streams["common"] dict. check-in: 4cbc0911f6 user: mario tags: trunk
20:46
Fix old module names. check-in: a6e914a9fd user: mario tags: trunk
Changes

Modified channels/myoggradio.py from [48b975db1d] to [1e246c384f].

1
2
3
4
5
6
7
8

# api: streamtuner2
# title: MyOggRadio
# description: Open source internet radio directory.
# type: channel
# category: radio
# version: 0.7
# url: http://www.myoggradio.org/
|







1
2
3
4
5
6
7
8
# encoding: utf-8
# api: streamtuner2
# title: MyOggRadio
# description: Open source internet radio directory.
# type: channel
# category: radio
# version: 0.7
# url: http://www.myoggradio.org/
116
117
118
119
120
121
122



123
124
125
126
127
128
129
                
                urls = action.convert_playlist(row["url"], row.get("listformat", "any"), "srv", local_file=False, row=row)
                if not urls:
                    urls = [row["url"]]
                row["url"] = ahttp.fix_url(urls[0])
                
            # prevent double check-ins



            if row["title"] in (r.get("title") for r in self.streams["common"]):
                pass
            elif row["url"] in (r.get("url") for r in self.streams["common"]):
                pass

            # send
            else:







>
>
>







116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
                
                urls = action.convert_playlist(row["url"], row.get("listformat", "any"), "srv", local_file=False, row=row)
                if not urls:
                    urls = [row["url"]]
                row["url"] = ahttp.fix_url(urls[0])
                
            # prevent double check-ins
            if not self.streams.get("common"):
                log.WARN("Cache empty. Cannot compare stream info for newness. Please reload MyOggRadio channel first.")
                return
            if row["title"] in (r.get("title") for r in self.streams["common"]):
                pass
            elif row["url"] in (r.get("url") for r in self.streams["common"]):
                pass

            # send
            else:
181
182
183
184
185
186
187
188
189
190
191
192
        if len(conf.myoggradio_login) and conf.myoggradio_login != "user:password":
            return conf.myoggradio_login.split(":")
        else:
            lap =  conf.netrc(["myoggradio", "myoggradio.org", "www.myoggradio.org"])
            if lap:
                return [lap[0] or lap[1], lap[2]]
            else:
                self.parent.status("No login data for MyOggRadio configured. See F12 for setup, or F1 for help.");
        pass        










|




184
185
186
187
188
189
190
191
192
193
194
195
        if len(conf.myoggradio_login) and conf.myoggradio_login != "user:password":
            return conf.myoggradio_login.split(":")
        else:
            lap =  conf.netrc(["myoggradio", "myoggradio.org", "www.myoggradio.org"])
            if lap:
                return [lap[0] or lap[1], lap[2]]
            else:
                self.parent.status('<span background="orange">â›” No login data for MyOggRadio configured. See F12 for setup, or F1 for help.</span>', timeout=10, markup=1);
        pass