Example #1
0
 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
Example #2
0
def test_utf_8_encode():
    '''
    '''
    #sanity
    new_str, size = codecs.utf_8_encode("abc")
    AreEqual(new_str, 'abc')
    AreEqual(size, 3)
Example #3
0
def test_utf_8_encode():
    '''
    '''
    #sanity
    new_str, size = codecs.utf_8_encode("abc")
    AreEqual(new_str, 'abc')
    AreEqual(size, 3)
Example #4
0
    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)
Example #5
0
    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)
Example #6
0
                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):
Example #7
0
 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)
Example #8
0
 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)
Example #9
0
                    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):