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

โŒˆโŒ‹ โŽ‡ branch:  streamtuner2


Check-in [05806261b3]

Overview
Comment:Switch dirble plugin to predeclare encoding="utf-8" for speed.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 05806261b3656675ffe9e56d981a273314f53244
User & Date: mario on 2015-05-11 11:18:09
Other Links: manifest | tags
Context
2015-05-11
12:21
Change pluginconf lookups. Use only pkg basenames for configuration, but override channels.__path__ directly in module. Thus pluginconf can convert `plugin_base` into path list for module_list() scanning. check-in: 494088b7d1 user: mario tags: trunk
11:18
Switch dirble plugin to predeclare encoding="utf-8" for speed. check-in: 05806261b3 user: mario tags: trunk
11:17
Disable iTunes plugin, no alternative resource. check-in: 901ee2c6b2 user: mario tags: trunk
Changes

Modified PACKAGING from [1814db3da6] to [4883c4bdc9].

30
31
32
33
34
35
36

37






38
39
40
41
42
43
44
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51







+

+
+
+
+
+
+









Renames
-------

 ยท bookmarks, configdialog, streamedit were extracted into
   channels/ - which is why the main module got lighter.

 ยท uikit.py is the new mygtk

 ยท contrib/ contains more add-on modules, which could just
   be packaged into channels/ - selectively.

   (Alternatively users can download and activate those
   themselves later.)
 

Aux files
---------

 โ†’ Help files still need to go to share/docs/streamtuner2/help/
   unless you patch the source.

Modified channels/dirble.py from [db262a5d06] to [8581a994c5].

106
107
108
109
110
111
112
113

114
115
116
117
118
119
120
121
122
123
124
125
126
106
107
108
109
110
111
112

113
114
115
116
117
118
119
120
121
122
123
124
125
126







-
+















    # Patch API url together, send request, decode JSON list
    def api(self, method, **params):
        params["token"] = conf.dirble_api_key or self.key
        try:
            # HTTP request and JSON decoding take a while
            r = ahttp.get(self.base.format(method), params)
            r = ahttp.get(self.base.format(method), params, encoding="utf-8")
            r = json.loads(r)
            if isinstance(r, dict) and "error" in r:
                log.ERR(r["error"])
                raise Exception
            # cut down stream list
            if len(r) > int(conf.max_streams):
                del r[int(conf.max_streams):]
        except Exception as e:
            log.ERR("Dirble API retrieval failure:", e)
            r = []
        return r