Skip to content

Commit

Permalink
Merge pull request #4568 from smotornyuk/switch-multi_dict-implementa…
Browse files Browse the repository at this point in the history
…tion

Use werkzeug:MultiDict instead of paste:MultiDict
  • Loading branch information
wardi committed Dec 4, 2018
2 parents d068926 + fd9b517 commit 1b6f439
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 16 deletions.
6 changes: 1 addition & 5 deletions ckan/controllers/api.py
Expand Up @@ -3,12 +3,8 @@
import os.path
import logging
import cgi
import datetime
import glob
import urllib

from webob.multidict import UnicodeMultiDict
from paste.util.multidict import MultiDict
from six import text_type

import ckan.model as model
Expand All @@ -22,7 +18,7 @@

from ckan.views import identify_user

from ckan.common import _, c, request, response, config
from ckan.common import _, c, request, response


log = logging.getLogger(__name__)
Expand Down
16 changes: 10 additions & 6 deletions ckan/lib/search/query.py
Expand Up @@ -2,17 +2,20 @@

import re
import logging

from ckan.common import config
import six
import pysolr

from paste.deploy.converters import asbool
from paste.util.multidict import MultiDict
import six
from werkzeug.datastructures import MultiDict

from ckan.lib.search.common import make_connection, SearchError, SearchQueryError
import ckan.logic as logic
import ckan.model as model

from ckan.common import config
from ckan.lib.search.common import (
make_connection, SearchError, SearchQueryError
)

log = logging.getLogger(__name__)

_open_licenses = None
Expand Down Expand Up @@ -211,14 +214,15 @@ def run(self, fields={}, options=None, **kwargs):
options.update(kwargs)

context = {
'model':model,
'model': model,
'session': model.Session,
'search_query': True,
}

# Transform fields into structure required by the resource_search
# action.
query = []

for field, terms in fields.items():
if isinstance(terms, six.string_types):
terms = terms.split()
Expand Down
8 changes: 3 additions & 5 deletions ckan/tests/legacy/lib/test_resource_search.py
@@ -1,7 +1,6 @@
# encoding: utf-8

from webob.multidict import UnicodeMultiDict, MultiDict
from nose.tools import assert_raises, assert_equal
from nose.tools import assert_raises, assert_equal, assert_set_equal

from ckan.tests.legacy import *
from ckan.tests.legacy import is_search_supported
Expand Down Expand Up @@ -76,10 +75,9 @@ def test_02_search_url_2(self):
assert set([self.ab]) == urls, urls

def test_03_search_url_multiple_words(self):
fields = UnicodeMultiDict(MultiDict(url='e'))
fields.add('url', 'f')
fields = dict([['url', 'e f']])
urls = self.res_search(fields=fields)
assert set([self.ef]) == urls, urls
assert_set_equal({self.ef}, urls)

def test_04_search_url_none(self):
urls = self.res_search(fields={'url':'nothing'})
Expand Down

0 comments on commit 1b6f439

Please sign in to comment.