equal
deleted
inserted
replaced
124 "x86_64.tar.gz" : ("x64", "tgz"), |
124 "x86_64.tar.gz" : ("x64", "tgz"), |
125 ".tar.gz" : ("tgz",), |
125 ".tar.gz" : ("tgz",), |
126 ".deb" : ("deb",), |
126 ".deb" : ("deb",), |
127 ".rpm" : ("rpm",), |
127 ".rpm" : ("rpm",), |
128 "32-bit" : ("x86",), |
128 "32-bit" : ("x86",), |
129 "64-bit" : ("x64",), |
129 "64-bit" : ("x64",), |
|
130 "(HD)" : ("HD",), |
130 } |
131 } |
131 def __init__(self, dltype, dom): |
132 def __init__(self, dltype, dom): |
132 self.dltype = dltype |
133 self.dltype = dltype |
133 self.id = dom.name[len("download "):] |
134 self.id = dom.name[len("download "):] |
134 button = list(dom.find("flexbtn "))[0] |
135 button = list(dom.find("flexbtn "))[0] |
149 self.md5 = details.a.attrs["href"] |
150 self.md5 = details.a.attrs["href"] |
150 else: |
151 else: |
151 self.size = "Unknown" |
152 self.size = "Unknown" |
152 self.md5 = "Unknown" |
153 self.md5 = "Unknown" |
153 def format(self, prefix=""): |
154 def format(self, prefix=""): |
154 res = prefix + '<download id="' + self.id + '">\n' |
155 res = prefix + '<download type="' + self.dltype + '" id="' + self.id + '">\n' |
155 res += prefix + " <web>" + self.web + "</web>\n" |
156 res += prefix + " <web>" + self.web + "</web>\n" |
156 res += prefix + " <torrent>" + self.torrent + "</torrent>\n" |
157 res += prefix + " <torrent>" + self.torrent + "</torrent>\n" |
157 res += prefix + " <size>" + self.size + "</size>\n" |
158 res += prefix + " <size>" + self.size + "</size>\n" |
158 res += prefix + " <md5>" + self.md5 + "</md5>\n" |
159 res += prefix + " <md5>" + self.md5 + "</md5>\n" |
159 res += prefix + "</download>" |
160 res += prefix + "</download>" |
258 if "deb" in dl.attrs: |
259 if "deb" in dl.attrs: |
259 score += 1 |
260 score += 1 |
260 return score |
261 return score |
261 if dl.dltype == "android": |
262 if dl.dltype == "android": |
262 return -1 |
263 return -1 |
|
264 if dl.dltype == "ebook": |
|
265 if "MOBI" in dl.attrs: |
|
266 return -1 |
|
267 if "HD" in dl.attrs: |
|
268 return 2 |
|
269 return 1 |
263 raise Exception("Unknown dls type: %r" % (dl,)) |
270 raise Exception("Unknown dls type: %r" % (dl,)) |
264 |
271 |
265 def chooseDownloads(self, dls): |
272 def chooseDownloads(self, dls): |
266 return sorted(((self.scoreDownload(dl),dl) for dl in dls), key=lambda x: x[0], reverse=True) |
273 return sorted(((self.scoreDownload(dl),dl) for dl in dls), key=lambda x: x[0], reverse=True) |
267 |
274 |