def setUp(self):
     self.querier = P2pQuerier('0'*40, None) 
     self.query = P2pQuery(sender='http://localhost:3423',
                           client_port=3423,
                           client_host='1.2.3.4',
                           ttl=2,
                           query=Query.fromRawQuery("foo"))
 def testOneWordRestrictedQuery(self):
     query = Query.fromRawQuery(u"hello filetype:pdf")
     self.assertEquals(query.words, u"hello")
     # excplitly check for unicode-ness ('hello' == u'hello')
     self.assertEquals(type(query.words), unicode)
     self.assertEquals(query.filename, None)
     self.assertEquals(query.filetype, 'application/pdf')
     self.assertEquals(query.offset, 0)
 def testBasicQueryWithSeveralWords(self):
     query = Query.fromRawQuery(u"hello world")
     self.assertEquals(query.words, u"hello world")
     # excplitly check for unicode-ness ('hello' == u'hello')
     self.assertEquals(type(query.words), unicode)
     self.assertEquals(query.filename, None)
     self.assertEquals(query.filetype, None)
     self.assertEquals(query.offset, 0)
 def testTwoWordsRestrictedQueryAndOffset(self):
     query = Query.fromRawQuery(u"hello filetype:pdf world", 12)
     self.assertEquals(query.words, u"hello world")
     # excplitly check for unicode-ness ('hello' == u'hello')
     self.assertEquals(type(query.words), unicode)
     self.assertEquals(query.filename, None)
     self.assertEquals(query.filetype, 'application/pdf')
     self.assertEquals(query.offset, 12)
 def child_download(self, context):
     docid = context.arg('docid')
     query = Query.fromRawQuery(unicode(context.arg('words'), 'utf-8'))
     docurl = self.querier.notifyDownload(docid, query.words)
     if docurl:
         return static.File(docurl)
     else:
         return Maay404()
 def testTwoWordsRestrictedQueryAndOffset(self):
     query = Query.fromRawQuery(u"hello filetype:pdf world", 12)
     self.assertEquals(query.words, u"hello world")
     # excplitly check for unicode-ness ('hello' == u'hello')
     self.assertEquals(type(query.words), unicode)
     self.assertEquals(query.filename, None)
     self.assertEquals(query.filetype, "application/pdf")
     self.assertEquals(query.offset, 12)
 def child_download(self, context):
     docid = context.arg('docid')
     query = Query.fromRawQuery(unicode(context.arg('words'), 'utf-8'))
     docurl = self.querier.notifyDownload(docid, query.words)
     if docurl:
         return static.File(docurl)
     else:
         return Maay404()
 def testBasicQueryWithSeveralWords(self):
     query = Query.fromRawQuery(u"hello world")
     self.assertEquals(query.words, u"hello world")
     # excplitly check for unicode-ness ('hello' == u'hello')
     self.assertEquals(type(query.words), unicode)
     self.assertEquals(query.filename, None)
     self.assertEquals(query.filetype, None)
     self.assertEquals(query.offset, 0)
 def testBasicQuery(self):
     query = Query.fromRawQuery(u"hello")
     self.assertEquals(query.words, [u"hello"])
     # excplitly check for unicode-ness ('hello' == u'hello')
     self.assertEquals(type(query.words), list)
     self.assertEquals(type(query.words[0]), unicode)
     self.assertEquals(query.filename, None)
     self.assertEquals(query.filetype, None)
     self.assertEquals(query.offset, 0)
 def testOneWordRestrictedQuery(self):
     query = Query.fromRawQuery(u"hello filetype:pdf")
     self.assertEquals(query.words, [u"hello"])
     # excplitly check for unicode-ness ('hello' == u'hello')
     self.assertEquals(type(query.words), list)
     self.assertEquals(type(query.words[0]), unicode)
     self.assertEquals(query.filename, None)
     self.assertEquals(query.filetype, 'application/pdf')
     self.assertEquals(query.offset, 0)
 def testBasicQuery(self):
     query = Query.fromRawQuery(u"hello")
     self.assertEquals(query.words, [u"hello"])
     # excplitly check for unicode-ness ('hello' == u'hello')
     self.assertEquals(type(query.words), list)
     self.assertEquals(type(query.words[0]), unicode)
     self.assertEquals(query.filename, None)
     self.assertEquals(query.filetype, None)
     self.assertEquals(query.offset, 0)
 def testTwoWordsRestrictedQuery(self):
     query = Query.fromRawQuery(u"hello filetype:pdf world")
     self.assertEquals(query.words, [u"hello", u"world"])
     # excplitly check for unicode-ness ('hello' == u'hello')
     self.assertEquals(type(query.words), list)
     self.assertEquals(type(query.words[0]), unicode)
     self.assertEquals(type(query.words[1]), unicode)
     self.assertEquals(query.filename, None)
     self.assertEquals(query.filetype, 'application/pdf')
     self.assertEquals(query.offset, 0)
 def testMimeTypeNormalization(self):
     query = Query.fromRawQuery(u"hello filetype:pdf world", 12)
     self.assertEquals(query.filetype, 'application/pdf')
     query.filetype = 'text/x-python'
     self.assertEquals(query.filetype, 'text/x-python')
     query.filetype = ''
     self.assertEquals(query.filetype, None)
     query.filetype = 'pdf'
     self.assertEquals(query.filetype, 'application/pdf')
     query.filetype = None
     self.assertEquals(query.filetype, None)
 def testMimeTypeNormalization(self):
     query = Query.fromRawQuery(u"hello filetype:pdf world", 12)
     self.assertEquals(query.filetype, 'application/pdf')
     query.filetype = 'text/x-python'
     self.assertEquals(query.filetype, 'text/x-python')
     query.filetype = ''
     self.assertEquals(query.filetype, None)
     query.filetype = 'pdf'
     self.assertEquals(query.filetype, 'application/pdf')
     query.filetype = None
     self.assertEquals(query.filetype, None)
    def child_search(self, context):
        # query = unicode(context.arg('words'))        
        offset = int(context.arg('offset', 0))
        words = context.arg('words')
        if not words:
            query = Query.fromRawQuery('')
            return FACTORY.getLivePage(context)
        rawQuery = unicode(context.arg('words'), 'utf-8')
        query = Query.fromRawQuery(rawQuery, offset)
        localResults = self.querier.findDocuments(query)
        # self._askForPeerResults(query, context)
        resultsPage = FACTORY.clientFactory(context, self.maayId, localResults, query, offset)
        #######################
        webappConfig = IServerConfiguration(context)
        p2pQuery = P2pQuery(webappConfig.get_node_id(),
                            webappConfig.rpcserver_port,
                            query)
        self.p2pquerier.sendQuery(p2pQuery)
        #######################

        self.p2pquerier.addAnswerCallback(p2pQuery.qid, resultsPage.onNewResults)
        return resultsPage
    def child_search(self, context):
        # query = unicode(context.arg('words'))
        offset = int(context.arg('offset', 0))
        words = context.arg('words')
        if not words:
            query = Query.fromRawQuery('')
            return FACTORY.getLivePage(context)
        rawQuery = unicode(context.arg('words'), 'utf-8')
        query = Query.fromRawQuery(rawQuery, offset)
        localResults = self.querier.findDocuments(query)
        # self._askForPeerResults(query, context)
        resultsPage = FACTORY.clientFactory(context, self.maayId, localResults,
                                            query, offset)
        #######################
        webappConfig = IServerConfiguration(context)
        p2pQuery = P2pQuery(webappConfig.get_node_id(),
                            webappConfig.rpcserver_port, query)
        self.p2pquerier.sendQuery(p2pQuery)
        #######################

        self.p2pquerier.addAnswerCallback(p2pQuery.qid,
                                          resultsPage.onNewResults)
        return resultsPage
Exemple #17
0
 def testComplexQueryAsKwargs(self):
     query = P2pQuery(sender='http://localhost:3423',
                      port=3423,
                      ttl=2,
                      query=Query.fromRawQuery("foo bar filetype:pdf"),
                      qid=42)
     self.assertEquals(
         query.asKwargs(), {
             'qid': 42,
             'sender': 'http://localhost:3423',
             'port': 3423,
             'ttl': 2,
             'words': 'foo bar',
             'mime_type': 'application/pdf'
         })
Exemple #18
0
 def testComplexQueryAsKwargs(self):
     query = P2pQuery(sender='http://localhost:3423',
                      client_port = 3423,
                      client_host = '1.2.3.4',
                      ttl=2,
                      query=Query.fromRawQuery("foo bar filetype:pdf"),
                      qid=42)
     self.assertEquals(query.asKwargs(),
                       {'qid' : 42,
                        'sender' : 'http://localhost:3423',
                        'client_port' : 3423,
                        'client_host' : '1.2.3.4',
                        'ttl' : 2,
                        'words' : [u'foo', u'bar'],
                        'version' : 2,
                        'mime_type' : 'application/pdf'})
Exemple #19
0
 def setUp(self):
     self.query = P2pQuery(sender='http://localhost:3423', # a hash in real life
                           client_port=3423,
                           client_host='1.2.3.4',
                           query=Query.fromRawQuery("foo"),
                           qid=42)
Exemple #20
0
 def setUp(self):
     self.query = P2pQuery(
         sender='http://localhost:3423',  # should be a hash (auc)
         port=3423,
         query=Query.fromRawQuery("foo"),
         qid=42)