예제 #1
0
파일: client.py 프로젝트: janurag/pysolr
 def test_safe_urlencode(self):
     self.assertEqual(
         force_unicode(unquote_plus(safe_urlencode({"test": "Hello ☃! Helllo world!"}))),
         "test=Hello ☃! Helllo world!",
     )
     self.assertEqual(
         force_unicode(unquote_plus(safe_urlencode({"test": ["Hello ☃!", "Helllo world!"]}, True))),
         "test=Hello \u2603!&test=Helllo world!",
     )
     self.assertEqual(
         force_unicode(unquote_plus(safe_urlencode({"test": ("Hello ☃!", "Helllo world!")}, True))),
         "test=Hello \u2603!&test=Helllo world!",
     )
예제 #2
0
def append_search_querystring(request, feed_path):
    if request.path == '/search':
        qs = "?%s" % safe_urlencode(request.GET.items())
    else:
        qs = ""

    return feed_path+qs    
예제 #3
0
 def test_safe_urlencode(self):
     self.assertEqual(
         force_unicode(
             unquote_plus(safe_urlencode({'test':
                                          'Hello ☃! Helllo world!'}))),
         'test=Hello ☃! Helllo world!')
     self.assertEqual(
         force_unicode(
             unquote_plus(
                 safe_urlencode({'test': ['Hello ☃!', 'Helllo world!']},
                                True))),
         "test=Hello \u2603!&test=Helllo world!")
     self.assertEqual(
         force_unicode(
             unquote_plus(
                 safe_urlencode({'test': ('Hello ☃!', 'Helllo world!')},
                                True))),
         "test=Hello \u2603!&test=Helllo world!")
예제 #4
0
 def test_safe_urlencode(self):
     self.assertEqual(
         force_unicode(
             unquote_plus(safe_urlencode({"test":
                                          "Hello ☃! Helllo world!"}))),
         "test=Hello ☃! Helllo world!",
     )
     self.assertEqual(
         force_unicode(
             unquote_plus(
                 safe_urlencode({"test": ["Hello ☃!", "Helllo world!"]},
                                True))),
         "test=Hello \u2603!&test=Helllo world!",
     )
     self.assertEqual(
         force_unicode(
             unquote_plus(
                 safe_urlencode({"test": ("Hello ☃!", "Helllo world!")},
                                True))),
         "test=Hello \u2603!&test=Helllo world!",
     )
예제 #5
0
파일: search.py 프로젝트: dbogdanov/dunya
def autocomplete(term):
    params = {}
    params['wt'] = 'json'
    params['q'] = term
    params['fl'] = "title_t,type_s,object_id_i,mbid_s,artists_s,composer_s"
    path = 'suggest/?%s' % pysolr.safe_urlencode(params, True)
    response = solr._send_request('get', path)
    res = json.loads(response)
    check = res.get("response", {})
    docs = check.get("docs", [])
    ret = []
    return docs
예제 #6
0
파일: search.py 프로젝트: dbogdanov/dunya
def autocomplete(term):
    params = {}
    params['wt'] = 'json'
    params['q'] = term
    params['fl'] = "title_t,type_s,object_id_i"
    path = 'suggest/?%s' % pysolr.safe_urlencode(params, True)
    response = solr._send_request('get', path)
    res = json.loads(response)
    check = res.get("response", {})
    docs = check.get("docs", [])
    ret = []
    for d in docs:
        ret.append(d["title_t"])
    return ret[:5]
예제 #7
0
def autocomplete(term):
    params = {}
    params['wt'] = 'json'
    params['q'] = term
    params['fl'] = "title_t,type_s,object_id_i"
    path = 'suggest/?%s' % pysolr.safe_urlencode(params, True)
    response = solr._send_request('get', path)
    res = json.loads(response)
    check = res.get("response", {})
    docs = check.get("docs", [])
    ret = []
    for d in docs:
        ret.append(d["title_t"])
    return ret[:5]
예제 #8
0
def autocomplete(term):
    # specify json encoding of results
    params = {}
    params['wt'] = 'json'
    params['q'] = term
    path = 'suggest/?%s' % pysolr.safe_urlencode(params, True)
    response = solr._send_request('get', path)
    res = json.loads(response)
    check = res.get("spellcheck", {})
    suggs = check.get("suggestions", [])
    if term in suggs:
        index = suggs.index(term) + 1
        if index < len(suggs):
            suggestions = suggs[index].get("suggestion", [])
            return suggestions
    return []
예제 #9
0
파일: search.py 프로젝트: darad/dunya
def autocomplete(term):
    # specify json encoding of results
    params = {}
    params['wt'] = 'json'
    params['q'] = term
    path = 'suggest/?%s' % pysolr.safe_urlencode(params, True)
    response = solr._send_request('get', path)
    res = json.loads(response)
    check = res.get("spellcheck", {})
    suggs = check.get("suggestions", [])
    if term in suggs:
        index = suggs.index(term) + 1
        if index < len(suggs):
            suggestions = suggs[index].get("suggestion", [])
            return suggestions
    return []
예제 #10
0
def _set_query_debug(solr, params):
    try:
        if not get_setting(
            field="query_debug", interface=IRerSolrpushSettings
        ):
            return
    except KeyError:
        # key not available: do not save data
        return
    request = getRequest()
    annotations = IAnnotations(request)
    annotations["solr_query"] = {
        "url": "{url}/select?{params}".format(
            url=solr.url, params=safe_urlencode(params, True)
        ),
        "params": params,
    }
예제 #11
0
 def test_safe_urlencode(self):
     self.assertEqual(force_unicode(unquote_plus(safe_urlencode({'test': 'Hello ☃! Helllo world!'}))), 'test=Hello ☃! Helllo world!')
     self.assertEqual(force_unicode(unquote_plus(safe_urlencode({'test': ['Hello ☃!', 'Helllo world!']}, True))), "test=Hello \u2603!&test=Helllo world!")
     self.assertEqual(force_unicode(unquote_plus(safe_urlencode({'test': ('Hello ☃!', 'Helllo world!')}, True))), "test=Hello \u2603!&test=Helllo world!")
예제 #12
0
 def create_URL(self, query, sort):
     return self.url + "/select?" + safe_urlencode({
         "q": query,
         "sort": sort
     })
예제 #13
0
 def _query_path(self):
     self._query_params_encoded = pysolr.safe_urlencode(self._query_params)
     return '{}?{}'.format(self._handler_path,
                           self._query_params_encoded)
예제 #14
0
 def _query_path(self):
     self._query_params_encoded = pysolr.safe_urlencode(self._query_params)
     return '{}?{}'.format(self._handler_path, self._query_params_encoded)