ckanext-search-tweaks 0.4.12__py3-none-any.whl → 0.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. ckanext/search_tweaks/__init__.py +1 -17
  2. ckanext/search_tweaks/advanced_search/plugin.py +16 -10
  3. ckanext/search_tweaks/cli.py +3 -3
  4. ckanext/search_tweaks/config.py +37 -0
  5. ckanext/search_tweaks/field_relevance/plugin.py +7 -10
  6. ckanext/search_tweaks/field_relevance/views.py +12 -19
  7. ckanext/search_tweaks/interfaces.py +16 -9
  8. ckanext/search_tweaks/plugin.py +19 -44
  9. ckanext/search_tweaks/query_popularity/__init__.py +0 -0
  10. ckanext/search_tweaks/query_popularity/config.py +30 -0
  11. ckanext/search_tweaks/query_popularity/logic/__init__.py +0 -0
  12. ckanext/search_tweaks/query_popularity/logic/action.py +43 -0
  13. ckanext/search_tweaks/query_popularity/logic/auth.py +23 -0
  14. ckanext/search_tweaks/query_popularity/plugin.py +47 -0
  15. ckanext/search_tweaks/query_popularity/score.py +165 -0
  16. ckanext/search_tweaks/query_relevance/__init__.py +1 -2
  17. ckanext/search_tweaks/query_relevance/cli.py +3 -7
  18. ckanext/search_tweaks/query_relevance/plugin.py +18 -24
  19. ckanext/search_tweaks/query_relevance/score.py +1 -1
  20. ckanext/search_tweaks/query_relevance/storage.py +7 -14
  21. ckanext/search_tweaks/shared.py +13 -0
  22. ckanext/search_tweaks/spellcheck/helpers.py +15 -23
  23. ckanext/search_tweaks/spellcheck/plugin.py +1 -1
  24. ckanext/search_tweaks/tests/query_relevance/test_plugin.py +2 -3
  25. ckanext/search_tweaks/tests/query_relevance/test_storage.py +4 -4
  26. ckanext/search_tweaks/tests/spellcheck/test_plugin.py +7 -15
  27. ckanext/search_tweaks/tests/test_plugin.py +21 -32
  28. {ckanext_search_tweaks-0.4.12.dist-info → ckanext_search_tweaks-0.6.0.dist-info}/METADATA +5 -4
  29. ckanext_search_tweaks-0.6.0.dist-info/RECORD +52 -0
  30. {ckanext_search_tweaks-0.4.12.dist-info → ckanext_search_tweaks-0.6.0.dist-info}/WHEEL +1 -1
  31. {ckanext_search_tweaks-0.4.12.dist-info → ckanext_search_tweaks-0.6.0.dist-info}/entry_points.txt +1 -0
  32. ckanext_search_tweaks-0.4.12.dist-info/RECORD +0 -43
  33. /ckanext_search_tweaks-0.4.12-py3.10-nspkg.pth → /ckanext_search_tweaks-0.6.0-py3.8-nspkg.pth +0 -0
  34. {ckanext_search_tweaks-0.4.12.dist-info → ckanext_search_tweaks-0.6.0.dist-info}/LICENSE +0 -0
  35. {ckanext_search_tweaks-0.4.12.dist-info → ckanext_search_tweaks-0.6.0.dist-info}/namespace_packages.txt +0 -0
  36. {ckanext_search_tweaks-0.4.12.dist-info → ckanext_search_tweaks-0.6.0.dist-info}/top_level.txt +0 -0
@@ -1,10 +1,11 @@
1
1
  import pytest
2
2
 
3
- import ckan.plugins as p
4
3
  import ckan.lib.search.query as query
4
+ import ckan.plugins as p
5
5
 
6
- from ckanext.search_tweaks import CONFIG_PREFER_BOOST
7
6
  import ckanext.search_tweaks.plugin as plugin
7
+ import ckanext.search_tweaks.config as config
8
+ from ckanext.search_tweaks.config import CONFIG_PREFER_BOOST
8
9
 
9
10
 
10
11
  @pytest.mark.usefixtures("with_plugins")
@@ -45,7 +46,7 @@ class TestPlugin:
45
46
  def test_default_qf(self, search):
46
47
  assert search()["qf"] == query.QUERY_FIELDS
47
48
 
48
- @pytest.mark.ckan_config(plugin.CONFIG_QF, "title^10 name^0.1")
49
+ @pytest.mark.ckan_config(config.CONFIG_QF, "title^10 name^0.1")
49
50
  def test_modified_qf(self, search):
50
51
  assert search()["qf"] == "title^10 name^0.1"
51
52
 
@@ -59,69 +60,57 @@ class TestFuzzy:
59
60
  assert search(q="hello:world")["q"] == "hello:world"
60
61
  assert search(q="hello AND world")["q"] == "hello AND world"
61
62
 
62
- @pytest.mark.ckan_config(plugin.CONFIG_FUZZY_KEEP_ORIGINAL, False)
63
- @pytest.mark.ckan_config(plugin.CONFIG_FUZZY, "on")
63
+ @pytest.mark.ckan_config(config.CONFIG_FUZZY_KEEP_ORIGINAL, False)
64
+ @pytest.mark.ckan_config(config.CONFIG_FUZZY, True)
64
65
  @pytest.mark.parametrize("distance", [1, 2])
65
66
  def test_fuzzy_enabled(self, search, distance, ckan_config, monkeypatch):
66
- monkeypatch.setitem(
67
- ckan_config, plugin.CONFIG_FUZZY_DISTANCE, distance
68
- )
67
+ monkeypatch.setitem(ckan_config, config.CONFIG_FUZZY_DISTANCE, distance)
69
68
  assert search()["q"] == "*:*"
70
69
  assert search(q="hello")["q"] == f"hello~{distance}"
70
+ assert search(q="hello world")["q"] == f"hello~{distance} world~{distance}"
71
+ assert search(q="hello:world")["q"] == "hello:world"
71
72
  assert (
72
- search(q="hello world")["q"]
73
- == f"hello~{distance} world~{distance}"
74
- )
75
- assert search(q="hello:world")["q"] == f"hello:world"
76
- assert (
77
- search(q="hello AND world")["q"]
78
- == f"hello~{distance} AND world~{distance}"
73
+ search(q="hello AND world")["q"] == f"hello~{distance} AND world~{distance}"
79
74
  )
80
75
 
81
- @pytest.mark.ckan_config(plugin.CONFIG_FUZZY, "on")
76
+ @pytest.mark.ckan_config(config.CONFIG_FUZZY, True)
82
77
  @pytest.mark.parametrize("distance", [-10, -1, 0])
83
78
  def test_fuzzy_enabled_with_too_low_distance(
84
- self, search, distance, ckan_config, monkeypatch
79
+ self, search, distance, ckan_config, monkeypatch,
85
80
  ):
86
- monkeypatch.setitem(
87
- ckan_config, plugin.CONFIG_FUZZY_DISTANCE, distance
88
- )
81
+ monkeypatch.setitem(ckan_config, config.CONFIG_FUZZY_DISTANCE, distance)
89
82
  assert search(q="")["q"] == "*:*"
90
83
  assert search(q="hello")["q"] == "hello"
91
84
  assert search(q="hello world")["q"] == "hello world"
92
85
  assert search(q="hello:world")["q"] == "hello:world"
93
86
  assert search(q="hello AND world")["q"] == "hello AND world"
94
87
 
95
- @pytest.mark.ckan_config(plugin.CONFIG_FUZZY_KEEP_ORIGINAL, False)
96
- @pytest.mark.ckan_config(plugin.CONFIG_FUZZY, "on")
88
+ @pytest.mark.ckan_config(config.CONFIG_FUZZY_KEEP_ORIGINAL, False)
89
+ @pytest.mark.ckan_config(config.CONFIG_FUZZY, True)
97
90
  @pytest.mark.parametrize("distance", [3, 20, 111])
98
91
  def test_fuzzy_enabled_with_too_high_distance(
99
- self, search, distance, ckan_config, monkeypatch
92
+ self, search, distance, ckan_config, monkeypatch,
100
93
  ):
101
- monkeypatch.setitem(
102
- ckan_config, plugin.CONFIG_FUZZY_DISTANCE, distance
103
- )
94
+ monkeypatch.setitem(ckan_config, config.CONFIG_FUZZY_DISTANCE, distance)
104
95
  assert search()["q"] == "*:*"
105
96
  assert search(q="hello")["q"] == "hello~2"
106
97
  assert search(q="hello world")["q"] == "hello~2 world~2"
107
98
  assert search(q="hello:world")["q"] == "hello:world"
108
99
  assert search(q="hello AND world")["q"] == "hello~2 AND world~2"
109
100
 
110
- @pytest.mark.ckan_config(plugin.CONFIG_FUZZY, "on")
101
+ @pytest.mark.ckan_config(config.CONFIG_FUZZY, True)
111
102
  @pytest.mark.parametrize("distance", [1, 2])
112
103
  def test_fuzzy_keep_original_query(
113
- self, search, distance, ckan_config, monkeypatch
104
+ self, search, distance, ckan_config, monkeypatch,
114
105
  ):
115
- monkeypatch.setitem(
116
- ckan_config, plugin.CONFIG_FUZZY_DISTANCE, distance
117
- )
106
+ monkeypatch.setitem(ckan_config, config.CONFIG_FUZZY_DISTANCE, distance)
118
107
  assert search()["q"] == "*:*"
119
108
  assert search(q="hello")["q"] == f"(hello~{distance}) OR (hello)"
120
109
  assert (
121
110
  search(q="hello world")["q"]
122
111
  == f"(hello~{distance} world~{distance}) OR (hello world)"
123
112
  )
124
- assert search(q="hello:world")["q"] == f"hello:world"
113
+ assert search(q="hello:world")["q"] == "hello:world"
125
114
  assert (
126
115
  search(q="hello AND world")["q"]
127
116
  == f"(hello~{distance} AND world~{distance}) OR (hello AND world)"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ckanext-search-tweaks
3
- Version: 0.4.12
3
+ Version: 0.6.0
4
4
  Home-page: https://github.com/DataShades/ckanext-search-tweaks
5
5
  Author: Sergey Motornyuk
6
6
  Author-email: sergey.motornyuk@linkdigital.com.au
@@ -8,12 +8,13 @@ License: AGPL
8
8
  Keywords: CKAN
9
9
  Classifier: Development Status :: 4 - Beta
10
10
  Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
11
- Classifier: Programming Language :: Python :: 2.7
12
- Requires-Python: >=3.7
11
+ Classifier: Programming Language :: Python :: 3.8
12
+ Classifier: Programming Language :: Python :: 3.9
13
+ Classifier: Programming Language :: Python :: 3.10
13
14
  Description-Content-Type: text/markdown
14
15
  License-File: LICENSE
15
16
  Requires-Dist: freezegun
16
- Requires-Dist: typing-extensions
17
+ Requires-Dist: typing-extensions >=4.0.0
17
18
  Provides-Extra: advanced-search
18
19
 
19
20
  [![Tests](https://github.com/DataShades/ckanext-search-tweaks/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/DataShades/ckanext-search-tweaks/actions)
@@ -0,0 +1,52 @@
1
+ ckanext_search_tweaks-0.6.0-py3.8-nspkg.pth,sha256=VaH--vNo0_vzXvZAeqyq-Bg6m47pBBRlxwvBj0KQxe0,544
2
+ ckanext/search_tweaks/__init__.py,sha256=qcODHzdZk2RZsrNAKKcYKL2Y2yJ6Fwwyp7AfwZiJ8SI,73
3
+ ckanext/search_tweaks/cli.py,sha256=Pex34fMESkVycy6kOfODtNmHh8nPMvzFKTeZD0txLvc,308
4
+ ckanext/search_tweaks/config.py,sha256=NX7rsslGJyxQ8xTZidy9fI-SDkJ4lX4oLTX54lVLGI0,941
5
+ ckanext/search_tweaks/interfaces.py,sha256=pOu2PyMVxu7XDyGCvP42upm5N4Ws1KR0qzyW8wE2CGY,869
6
+ ckanext/search_tweaks/plugin.py,sha256=Pfx3QtdrUrh1dpqd0K7tUsEHDYvmo30BgORIx1NG1PA,3323
7
+ ckanext/search_tweaks/shared.py,sha256=9aWN_OXB5-h99lecnZVoZpLY6F8hbIRNX6WUQaoOoYI,325
8
+ ckanext/search_tweaks/advanced_search/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ ckanext/search_tweaks/advanced_search/plugin.py,sha256=mrJEx12AtfdyF4m1yF3q_RpH5ytpxx7IK1jpo_n3mkQ,3234
10
+ ckanext/search_tweaks/advanced_search/assets/advanced-search.css,sha256=KlBYOihUJepiu2iiGcRjIWZltogEqI8iGbO-28Wgnqw,584
11
+ ckanext/search_tweaks/advanced_search/assets/advanced-search.js,sha256=rkgprbv9fUnWoxgISXmoxHkSC4Z9OLXgZoOIICpn9X8,2328
12
+ ckanext/search_tweaks/advanced_search/assets/webassets.yml,sha256=g0NMsLyHzslxtkIXRFj_Vf-SU6b8MYlBiuHc50SQiAo,439
13
+ ckanext/search_tweaks/advanced_search/templates/advanced_search/search_form.html,sha256=QlKCxEUDGP1g4oZEOKAGSuopjrJsbcgK2cs28k3X4Vc,4266
14
+ ckanext/search_tweaks/field_relevance/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
+ ckanext/search_tweaks/field_relevance/plugin.py,sha256=r4wILcdKIpYI6GT43Tbr3eVSltzJkmshZwto1rLiCtI,1424
16
+ ckanext/search_tweaks/field_relevance/views.py,sha256=vtSOFXRgmzcypLkl_ZBs-enDk0raE2GPd_ruIKJv8IA,3214
17
+ ckanext/search_tweaks/field_relevance/assets/search-tweaks-reflect-range-in-label.js,sha256=WFAzPBvzf6SWaEAQJTxiEGhZm-65o676MN6KttCpvbo,490
18
+ ckanext/search_tweaks/field_relevance/assets/webassets.yml,sha256=PGr_EC4jOTABCRc3JCIAqYCzCMNgGG1KYE6Ua0S0vfk,184
19
+ ckanext/search_tweaks/field_relevance/templates/search_tweaks/field_relevance/promote.html,sha256=uqB9Wf7OJzF3-Ep6VZwe3bYICdzy0JhJPJzNPuMLBr0,1118
20
+ ckanext/search_tweaks/query_popularity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
+ ckanext/search_tweaks/query_popularity/config.py,sha256=O-YptWOeDQ6tyVLZ10D3dVs5tGhjOoOtFY3Xw_InmjA,858
22
+ ckanext/search_tweaks/query_popularity/plugin.py,sha256=Gd5u2h6U2wv-qmNY2pXt7AMld0EA43ISSCozVVMvRxE,1391
23
+ ckanext/search_tweaks/query_popularity/score.py,sha256=CUGT9AuUYxiMFV06HIGbB00C1VuRrJlo-5vg01WtfqY,4794
24
+ ckanext/search_tweaks/query_popularity/logic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
+ ckanext/search_tweaks/query_popularity/logic/action.py,sha256=9yJ9n8HreSiQmLS_1Ld08BGryVwGqMF17f9PBgg6RH4,1041
26
+ ckanext/search_tweaks/query_popularity/logic/auth.py,sha256=ozcJK0sLljM95f8CXrpZRWckMcCJIK_zUfx8HhUF1bE,654
27
+ ckanext/search_tweaks/query_relevance/__init__.py,sha256=mGpZuwY8UwPMuxjNLhGVYoaXPfLx5UPMixpldIjZuSY,1467
28
+ ckanext/search_tweaks/query_relevance/cli.py,sha256=7wU3nWdCQNaUi2O_zARy7usvUysE-wnp5h_yRlw7nAo,2576
29
+ ckanext/search_tweaks/query_relevance/plugin.py,sha256=ZgtFyBm_RuUCSOldqYdq_gajEbDW1ecmIsKaQJaqJ7c,2440
30
+ ckanext/search_tweaks/query_relevance/score.py,sha256=hfrfgNP5OUf7YBBDuFFBZb66ixpiAlnM-KAXzUVexXc,1811
31
+ ckanext/search_tweaks/query_relevance/storage.py,sha256=TmeHbeL41Dp5bxN1eNXdb5KG7fNHoExHVnRs73kgz6A,4897
32
+ ckanext/search_tweaks/spellcheck/__init__.py,sha256=Af3LHk9L82QtAh4q7C3srzCwJiF6WCtxe4CFTPKhFMQ,1401
33
+ ckanext/search_tweaks/spellcheck/cli.py,sha256=X1HAXhElqJ6Hrc30USxXG50F-1RS0uvxP2tr3S6jnK0,250
34
+ ckanext/search_tweaks/spellcheck/helpers.py,sha256=RXVVFRaJmyAJ7-A3Tp6tsnxPI646mkowWUoZTVnVFRw,4327
35
+ ckanext/search_tweaks/spellcheck/plugin.py,sha256=lKRNAl5V9REnjTNOhC9e4AfGLAw3wm3oQTwjS8hGofY,592
36
+ ckanext/search_tweaks/spellcheck/templates/search_tweaks/did_you_mean.html,sha256=5IAoogXrnYb8KecOLaPKQUerYCwkbEP5SQVjekeduHM,654
37
+ ckanext/search_tweaks/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
+ ckanext/search_tweaks/tests/conftest.py,sha256=Moxwo1WE8Yl6su50C7bqG6IEH3t38UW4PtfHe1SiiAk,662
39
+ ckanext/search_tweaks/tests/test_plugin.py,sha256=ScRWCNf0n_mpiP0rJlwygXhjb1ACNImH0qFItFsq_ac,4713
40
+ ckanext/search_tweaks/tests/query_relevance/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
+ ckanext/search_tweaks/tests/query_relevance/test_plugin.py,sha256=RBraEO6_LMvHx9ekDz_h8LgtpEJV8BkR3q-9QotRGWA,2196
42
+ ckanext/search_tweaks/tests/query_relevance/test_score.py,sha256=RwG_o8QyW3BZBx3J5Cs1UUkMHi0DGR-mWvlSlk3ibaU,1140
43
+ ckanext/search_tweaks/tests/query_relevance/test_storage.py,sha256=xBHB69zHE301mHlUB2hz0RXJaqFrhRMesAz2LNYNFE0,2825
44
+ ckanext/search_tweaks/tests/spellcheck/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
+ ckanext/search_tweaks/tests/spellcheck/test_plugin.py,sha256=9xH8dVFJzJarduKJ5yqJguoJ1EVE2-CpwoVCwvCkxBI,2523
46
+ ckanext_search_tweaks-0.6.0.dist-info/LICENSE,sha256=2lWcRAHjsQhqavGNnR30Ymxq3GJ9BaYL_dnfGO_-WFA,34500
47
+ ckanext_search_tweaks-0.6.0.dist-info/METADATA,sha256=_u5GGldZYOUPYIf1U499o37A6ELhDzx7epss-wKTTJk,12097
48
+ ckanext_search_tweaks-0.6.0.dist-info/WHEEL,sha256=Xo9-1PvkuimrydujYJAjF7pCkriuXBpUPEjma1nZyJ0,92
49
+ ckanext_search_tweaks-0.6.0.dist-info/entry_points.txt,sha256=0hvD0BILJCAPZBOTH28bAMN8XCbPrltTZ6Q8-mUZGyE,615
50
+ ckanext_search_tweaks-0.6.0.dist-info/namespace_packages.txt,sha256=5yjNwq-s42weaiMMUuA5lZ45g99ANsfcRBCvac1JMS4,8
51
+ ckanext_search_tweaks-0.6.0.dist-info/top_level.txt,sha256=5yjNwq-s42weaiMMUuA5lZ45g99ANsfcRBCvac1JMS4,8
52
+ ckanext_search_tweaks-0.6.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.40.0)
2
+ Generator: bdist_wheel (0.41.3)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -5,5 +5,6 @@ ckan = ckan.lib.extract:extract_ckan
5
5
  search_tweaks = ckanext.search_tweaks.plugin:SearchTweaksPlugin
6
6
  search_tweaks_advanced_search = ckanext.search_tweaks.advanced_search.plugin:AdvancedSearchPlugin
7
7
  search_tweaks_field_relevance = ckanext.search_tweaks.field_relevance.plugin:FieldRelevancePlugin
8
+ search_tweaks_query_popularity = ckanext.search_tweaks.query_popularity.plugin:QueryPopularityPlugin
8
9
  search_tweaks_query_relevance = ckanext.search_tweaks.query_relevance.plugin:QueryRelevancePlugin
9
10
  search_tweaks_spellcheck = ckanext.search_tweaks.spellcheck.plugin:SpellcheckPlugin
@@ -1,43 +0,0 @@
1
- ckanext_search_tweaks-0.4.12-py3.10-nspkg.pth,sha256=VaH--vNo0_vzXvZAeqyq-Bg6m47pBBRlxwvBj0KQxe0,544
2
- ckanext/search_tweaks/__init__.py,sha256=QV056AUS7hxxePRrjiz96aHaq49AzuQO_egEJlO9jac,518
3
- ckanext/search_tweaks/cli.py,sha256=bCpM8hSfVqFwSEKS-o-1AnOOLKtL7_GY3LrFsKG3GWo,321
4
- ckanext/search_tweaks/interfaces.py,sha256=X9WkbJV75T517bMFj3JMu36tUKZZ9TkhGPGYn87ara4,727
5
- ckanext/search_tweaks/plugin.py,sha256=0IgojHn2i9Mr7mhZ_XF8OBHMvPPKtToI96Y0ZKyTLgk,4071
6
- ckanext/search_tweaks/advanced_search/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- ckanext/search_tweaks/advanced_search/plugin.py,sha256=RPa6wuMGlMMsyD5N5WaCtxItUBperfvg1g7rrZOxeOA,3118
8
- ckanext/search_tweaks/advanced_search/assets/advanced-search.css,sha256=KlBYOihUJepiu2iiGcRjIWZltogEqI8iGbO-28Wgnqw,584
9
- ckanext/search_tweaks/advanced_search/assets/advanced-search.js,sha256=rkgprbv9fUnWoxgISXmoxHkSC4Z9OLXgZoOIICpn9X8,2328
10
- ckanext/search_tweaks/advanced_search/assets/webassets.yml,sha256=g0NMsLyHzslxtkIXRFj_Vf-SU6b8MYlBiuHc50SQiAo,439
11
- ckanext/search_tweaks/advanced_search/templates/advanced_search/search_form.html,sha256=QlKCxEUDGP1g4oZEOKAGSuopjrJsbcgK2cs28k3X4Vc,4266
12
- ckanext/search_tweaks/field_relevance/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- ckanext/search_tweaks/field_relevance/plugin.py,sha256=jwpOmoH8tq3_GQW64eI_ecWeicj_MfdFScMPBig4718,1458
14
- ckanext/search_tweaks/field_relevance/views.py,sha256=sAe_SwUDf_y8mu_ShDI8dIAQsnYNXDU8ZyAWewJMbl8,3298
15
- ckanext/search_tweaks/field_relevance/assets/search-tweaks-reflect-range-in-label.js,sha256=WFAzPBvzf6SWaEAQJTxiEGhZm-65o676MN6KttCpvbo,490
16
- ckanext/search_tweaks/field_relevance/assets/webassets.yml,sha256=PGr_EC4jOTABCRc3JCIAqYCzCMNgGG1KYE6Ua0S0vfk,184
17
- ckanext/search_tweaks/field_relevance/templates/search_tweaks/field_relevance/promote.html,sha256=uqB9Wf7OJzF3-Ep6VZwe3bYICdzy0JhJPJzNPuMLBr0,1118
18
- ckanext/search_tweaks/query_relevance/__init__.py,sha256=IGFf-mSZmnrODNKeF38rpi8g3Twkn9M60JLu1DtJn4s,1498
19
- ckanext/search_tweaks/query_relevance/cli.py,sha256=X75BLYYl5biEJ1uSEc8cDpiQ2w7F_P48baFeuzSvVAE,2638
20
- ckanext/search_tweaks/query_relevance/plugin.py,sha256=jEiDuphnVvmn1PFEImbJpAOtf03dw3ZQvOThV-w8TI8,2425
21
- ckanext/search_tweaks/query_relevance/score.py,sha256=aMBRFwmgEXfabqECC0UdcOEsT0KDAURekEmxLPBBAG8,1810
22
- ckanext/search_tweaks/query_relevance/storage.py,sha256=fogpPGkvzZPmLaoWivqel58cDrm2lrc8rDVhHD4e564,5020
23
- ckanext/search_tweaks/spellcheck/__init__.py,sha256=Af3LHk9L82QtAh4q7C3srzCwJiF6WCtxe4CFTPKhFMQ,1401
24
- ckanext/search_tweaks/spellcheck/cli.py,sha256=X1HAXhElqJ6Hrc30USxXG50F-1RS0uvxP2tr3S6jnK0,250
25
- ckanext/search_tweaks/spellcheck/helpers.py,sha256=jVhRvWRaWZtMEoaMa6zfNDRUX47PRWbI_onse8dQaeA,4393
26
- ckanext/search_tweaks/spellcheck/plugin.py,sha256=96lgsi3kIcisGO3-S_dOpO09kP5GdSSNW7ihw7k0hUQ,572
27
- ckanext/search_tweaks/spellcheck/templates/search_tweaks/did_you_mean.html,sha256=5IAoogXrnYb8KecOLaPKQUerYCwkbEP5SQVjekeduHM,654
28
- ckanext/search_tweaks/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
- ckanext/search_tweaks/tests/conftest.py,sha256=Moxwo1WE8Yl6su50C7bqG6IEH3t38UW4PtfHe1SiiAk,662
30
- ckanext/search_tweaks/tests/test_plugin.py,sha256=k6xyq8EekSGX9zA3EzmpS50tac8i8KsoFzRor50_d14,4795
31
- ckanext/search_tweaks/tests/query_relevance/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
- ckanext/search_tweaks/tests/query_relevance/test_plugin.py,sha256=n79jT2qkj32m_2QpU_HgtMUtXOyudHdvX91qAej94ik,2217
33
- ckanext/search_tweaks/tests/query_relevance/test_score.py,sha256=RwG_o8QyW3BZBx3J5Cs1UUkMHi0DGR-mWvlSlk3ibaU,1140
34
- ckanext/search_tweaks/tests/query_relevance/test_storage.py,sha256=wejUroQ4JBgVKl3qhyV-flZgbn2MTEpuG_JMPAQJ070,2821
35
- ckanext/search_tweaks/tests/spellcheck/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
- ckanext/search_tweaks/tests/spellcheck/test_plugin.py,sha256=Fj-7wVEHcqFYYv05MskJrYE_T2Do-QN3aXNdiBjJyuQ,2551
37
- ckanext_search_tweaks-0.4.12.dist-info/LICENSE,sha256=2lWcRAHjsQhqavGNnR30Ymxq3GJ9BaYL_dnfGO_-WFA,34500
38
- ckanext_search_tweaks-0.4.12.dist-info/METADATA,sha256=04xPWKIpobM2oMpd9grVstLxxN01WqP7Y_JkUJE8qE0,12012
39
- ckanext_search_tweaks-0.4.12.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
40
- ckanext_search_tweaks-0.4.12.dist-info/entry_points.txt,sha256=DSz84tCLzsoC4WxH6ObJNDpgJMgBHDdev5YRBgbj6bo,514
41
- ckanext_search_tweaks-0.4.12.dist-info/namespace_packages.txt,sha256=5yjNwq-s42weaiMMUuA5lZ45g99ANsfcRBCvac1JMS4,8
42
- ckanext_search_tweaks-0.4.12.dist-info/top_level.txt,sha256=5yjNwq-s42weaiMMUuA5lZ45g99ANsfcRBCvac1JMS4,8
43
- ckanext_search_tweaks-0.4.12.dist-info/RECORD,,