Set util class to create unique list of artists or albums
[mussorgsky] / src / utils.py
1 import gobject
2
3 def escape_html (text, max_length=40):
4     if (len (text) > max_length):
5         cutpoint = text.find (' ', max_length-10)
6         if (cutpoint == -1 or cutpoint > max_length):
7             cutpoint = max_length
8         text = text [0:cutpoint] + "..."
9     return gobject.markup_escape_text (text)
10
11
12 # Set socket timeout
13 import socket
14 import urllib2
15
16 timeout = 5
17 socket.setdefaulttimeout(timeout)
18
19 class UrllibWrapper ():
20
21     def save_content_into_file (self, content, filename):
22         output = open (filename, 'w')
23         output.write (content)
24         output.close ()
25         
26     def get_url (self, url):
27         request = urllib2.Request (url)
28         request.add_header ('User-Agent', 'Mussorgsky/0.1 Test')
29         opener = urllib2.build_opener ()
30         try:
31             return opener.open (request).read ()
32         except:
33             return None
34
35
36
37 class Set:
38
39     def __init__ (self):
40         self.d = {}
41         self.k = None
42         
43     def insert (self, element):
44         if (not self.d.has_key (element)):
45             print "insert", element
46             self.d[element] = 1
47             self.k = None
48
49     def as_list (self):
50         if (self.k):
51             return self.k
52         
53         self.k = self.d.keys ()
54         self.k.sort ()
55         return self.k
56         
57
58