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

⌈⌋ ⎇ branch:  streamtuner2


Check-in [7efd6c6ea2]

Overview
Comment:temporary fix for MyOggRadio being offline.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 7efd6c6ea2c0ecc33ef746f746b69fe8dc6fc668
User & Date: mario on 2020-05-12 16:17:03
Other Links: manifest | tags
Context
2020-05-12
18:24
Elevate liveradio.ie channel to default plugin. Introduce support for PyQuery extraction (HTML5 microdata). check-in: c75d34fd1e user: mario tags: trunk
16:17
temporary fix for MyOggRadio being offline. check-in: 7efd6c6ea2 user: mario tags: trunk
15:57
radionet updated to extract from horrendous new html pages. Perhaps switching to extracting just the JSON blob later on. urn: resolution remains unchanged. check-in: 466f591a1a user: mario tags: trunk
Changes

Modified channels/myoggradio.py from [9249a00104] to [33d33acd3b].

1
2
3
4
5
6
7

8
9
10
11
12
13
14
1
2
3
4
5
6

7
8
9
10
11
12
13
14






-
+







# encoding: utf-8
# api: streamtuner2
# title: MyOggRadio
# description: Open source internet radio directory.
# type: channel
# category: radio
# version: 0.7.5
# version: 0.7.6
# url: http://www.myoggradio.org/
# depends: json, ahttp >= 1.5
# config:
#    { name: myoggradio_login,  type: text,  value: "user:password", description: "Account for storing personal favourites." }
#    { name: myoggradio_morph,  type: boolean, value: 0,  description: "Convert pls/m3u into direct shoutcast url." }
# priority: standard
# png:
44
45
46
47
48
49
50
51


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


66
67
68
69
70
71
72
44
45
46
47
48
49
50

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

66
67
68
69
70
71
72
73
74







-
+
+













-
+
+








# open source radio sharing stie
class myoggradio(ChannelPlugin):

    # control flags
    listformat = "pls,m3u,srv"
    has_search = False
    api = "http://www.myoggradio.org/"
    #api = "http://www.myoggradio.org/"
    api = "http://api.include-once.org/myoggradio/"
    
    # hide unused columns
    titles = dict(playing=False, listeners=False, bitrate=False)
    
    # category map
    categories = ['common', 'personal']
    
    
    
    # prepare GUI
    def init2(self, parent):
        if parent:
            #uikit.add_menu([parent.extensions, parent.extensions_context], "Share in MyOggRadio", self.share)
            uikit.add_menu([parent.streammenu, parent.streamactions], "Share in MyOggRadio", self.share, insert=4)
            #uikit.add_menu([parent.streammenu, parent.streamactions], "Share in MyOggRadio", self.share, insert=4)
            pass



    # this is simple, there are no categories
    def update_categories(self):
        pass

92
93
94
95
96
97
98
99
100
101




102
103
104
105
106
107
108
94
95
96
97
98
99
100



101
102
103
104
105
106
107
108
109
110
111







-
-
-
+
+
+
+







        # unknown
        else:
            self.status("Unknown category")
            pass

        # augment result list
        for i,e in enumerate(entries):
            entries[i]["homepage"] = self.api + "c_common_details.jsp?url="  + e["url"]
            entries[i]["genre"] = cat
            entries[i]["format"] = "audio/mpeg"
            #entries[i]["homepage"] = self.api + "c_common_details.jsp?url="  + e["url"]
            #entries[i]["genre"] = cat
            #entries[i]["format"] = "audio/mpeg"
            pass
        # send back
        return entries
        
        
    
    # upload a single station entry to MyOggRadio
    def share(self, *w):