18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#
# Live365 lists around 5000 radio stations. Some are paid
# entries and require a logon. This plugins tries to filter
# thoise out.
# streamtuner2 modules
from config import conf
from uikit import uikit
import ahttp as http
from channels import *
from config import *
import action
# python modules
import re
import xml.dom.minidom
from xml.sax.saxutils import unescape as entity_decode, escape as xmlentities
import gtk
|
|
|
<
|
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#
# Live365 lists around 5000 radio stations. Some are paid
# entries and require a logon. This plugins tries to filter
# thoise out.
# streamtuner2 modules
from config import *
from uikit import uikit
import ahttp
from channels import *
import action
# python modules
import re
import xml.dom.minidom
from xml.sax.saxutils import unescape as entity_decode, escape as xmlentities
import gtk
|
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
# extract stream infos
def update_streams(self, cat):
# Retrieve genere index pages
html = ""
for i in [1, 17, 33, 49]:
url = "http://www.live365.com/cgi-bin/directory.cgi?first=%i&site=web&mode=3&genre=%s&charset=UTF-8&target=content" % (i, cat.lower())
html += http.get(url, feedback=self.parent.status)
# Extract from JavaScript
rx = re.compile(r"""
stn.set\( " (\w+) ", \s+ " ((?:[^"\\]+|\\.)*) "\); \s+
""", re.X|re.I|re.S|re.M)
# Group entries before adding them
|
|
|
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
# extract stream infos
def update_streams(self, cat):
# Retrieve genere index pages
html = ""
for i in [1, 17, 33, 49]:
url = "http://www.live365.com/cgi-bin/directory.cgi?first=%i&site=web&mode=3&genre=%s&charset=UTF-8&target=content" % (i, cat.lower())
html += ahttp.get(url, feedback=self.parent.status)
# Extract from JavaScript
rx = re.compile(r"""
stn.set\( " (\w+) ", \s+ " ((?:[^"\\]+|\\.)*) "\); \s+
""", re.X|re.I|re.S|re.M)
# Group entries before adding them
|