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
# encoding: utf-8
# api: streamtuner2
# title: MyOggRadio
# description: Open source internet radio directory.
# type: channel
# category: radio
# version: 0.7.5
# 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:






|







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.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

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

    # control flags
    listformat = "pls,m3u,srv"
    has_search = False
    api = "http://www.myoggradio.org/"

    
    # 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)




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








|
>













|
>







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://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)
            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
        # 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"

        # send back
        return entries
        
        
    
    # upload a single station entry to MyOggRadio
    def share(self, *w):







|
|
|
>







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"
            pass
        # send back
        return entries
        
        
    
    # upload a single station entry to MyOggRadio
    def share(self, *w):