def _run_search(self,pattern,href=None): if href==None: href="http://www.torrent411.com/search/"+urllib.quote_plus(pattern) resp,content=self.http_queue_request(href) content=_codecs.utf_8_encode(_codecs.latin_1_decode(content)[0])[0] tree=libxml2.htmlParseDoc(content,"utf-8") pager=htmltools.find_elements(htmltools.find_elements(tree.getRootElement(),"table",**{'class':'NB-frame'})[1],"p")[0] try: b=htmltools.find_elements(pager,"b")[-1] data=b.getContent() i=len(data)-1 while data[i] in "012346789": i-=1 self.results_count=eval(data[i+1:]) except: pass restable=htmltools.find_elements(pager.next.next,"table")[0] restable=htmltools.find_elements(restable,"table")[1] body=htmltools.find_elements(restable,"tbody")[0] lines=htmltools.find_elements(body,"tr",1) for i in lines: try: cat,link,a,date,b,c,d,e,f,g,h,i,size,j,seeders,leechers=htmltools.find_elements(i,"td") date=date.getContent().replace(chr(194)+chr(160)+"at"+chr(194)+chr(160)," ") date=time.strptime(date,"%Y-%m-%d %H:%M:%S") date=datetime.date(date.tm_year,date.tm_mon,date.tm_mday) size=size.getContent().replace(chr(194)+chr(160)," ") seeders=eval(seeders.getContent()) leechers=eval(leechers.getContent()) link=htmltools.find_elements(link,"a")[0] label=link.prop('title') link=urllib.basejoin("http://www.torrent411.com",link.prop('href')) resp,content=self.http_queue_request(link) content=_codecs.utf_8_encode(_codecs.latin_1_decode(content)[0])[0] itemtree=libxml2.htmlParseDoc(content,"utf-8") table=htmltools.find_elements(itemtree.getRootElement(),"table",**{'cellpadding':'3'})[1] desc,name,torrent,cat,siz,hashvalue=htmltools.find_elements(table,"tr")[:6] torrent=htmltools.find_elements(torrent,"a")[0].prop('href') hashvalue=htmltools.find_elements(hashvalue,"td")[1].getContent() self.add_result(Torrent411PluginResult(label,date,size,seeders,leechers,torrent,hashvalue)) except: pass if self.stop_search: return if not self.stop_search: try: links=htmltools.find_elements(pager,"a") next_link=None for i in links: if i.getContent()=="Next"+chr(194)+chr(160)+">>": next_link=i if next_link: link=urllib.basejoin("http://www.torrent411.com",next_link.prop('href')) self._run_search(pattern,link) except: pass
def test_utf_8_encode(): ''' ''' #sanity new_str, size = codecs.utf_8_encode("abc") AreEqual(new_str, 'abc') AreEqual(size, 3)
def dump_unicode(self, x): self._write(TYPE_UNICODE) #s = x.encode('utf8') s, len_s = utf_8_encode(x) # FIXME: Bug in PyPy? #self.w_long(len_s) self.w_long(len(s)) self._write(s)
elif command[3] == "shutdown": t = int("%d" % float(ibuff)) Shutdown.getInstance().startTelnetShutdown("127.0.0.1", t, False) elif command[3] == "restart": t = int("%d" % float(ibuff)) Shutdown.getInstance().startTelnetShutdown("127.0.0.1", t, True) else: exchange.sendResponseHeaders(501, 0) return else: exchange.sendResponseHeaders(501, 0) return r = _codecs.utf_8_encode(r)[0] if len(r) == 0: r = "null" exchange.sendResponseHeaders(200, len(r)) exchange.getResponseBody().write(r) return except: exchange.sendResponseHeaders(500, 0) class WebAdmin(JQuest): qID = -1 qn = "webAdmin" qDesc = "custom" def initWebServer(self):
def dump_unicode(self, x): self._write(TYPE_UNICODE) #s = x.encode('utf8') s, len_s = utf_8_encode(x) self.w_long(len_s) self._write(s)
Shutdown.getInstance().startTelnetShutdown( "127.0.0.1", t, False) elif command[3] == "restart": t = int("%d" % float(ibuff)) Shutdown.getInstance().startTelnetShutdown( "127.0.0.1", t, True) else: exchange.sendResponseHeaders(501, 0) return else: exchange.sendResponseHeaders(501, 0) return r = _codecs.utf_8_encode(r)[0] if len(r) == 0: r = 'null' exchange.sendResponseHeaders(200, len(r)) exchange.getResponseBody().write(r) return except: exchange.sendResponseHeaders(500, 0) class WebAdmin(JQuest): qID = -1 qn = "webAdmin" qDesc = "custom" def initWebServer(self):