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 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 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 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 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' })
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'})
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)
def setUp(self): self.query = P2pQuery( sender='http://localhost:3423', # should be a hash (auc) port=3423, query=Query.fromRawQuery("foo"), qid=42)