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

⌈⌋ branch:  streamtuner2


Diff

Differences From Artifact [9249a00104]:

To Artifact [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):