Skip to content

Commit 99d1cd6

Browse files
authored
fix enum type bug (#18)
1 parent 374ad1a commit 99d1cd6

File tree

7 files changed

+169
-185
lines changed

7 files changed

+169
-185
lines changed

.github/workflows/tests.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,23 @@ jobs:
77
runs-on: ubuntu-latest
88
steps:
99
- uses: actions/checkout@master
10-
- name: Set up Python 3.10
10+
- name: Set up Python 3.11
1111
uses: actions/setup-python@v4
1212
with:
13-
python-version: "3.10"
13+
python-version: "3.11"
1414
- uses: pre-commit/[email protected]
1515

1616
unit-tests:
1717
needs: pre-commit
1818
runs-on: ubuntu-latest
1919
steps:
2020
- uses: actions/checkout@master
21-
- name: Set up Python 3.10
21+
- name: Set up Python 3.11
2222
uses: actions/setup-python@v4
2323
with:
24-
python-version: "3.10"
24+
python-version: "3.11"
2525
- name: Run Tests
2626
run: |
2727
python -m pip install --upgrade pip
2828
pip install poetry
29-
poetry install && poetry run pytest
29+
poetry install -E xapian && poetry run pytest

poetry.lock

+136-170
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
[tool.poetry]
22
name = "salinic"
3-
version = "0.3.10"
3+
version = "0.4.0"
44
description = "Search abstraction layer"
55
authors = ["Eugen Ciur <[email protected]>"]
66
readme = "README.md"
77

88
[tool.poetry.dependencies]
9-
python = ">=3.8, <4.0"
10-
pydantic = "^2.1.1"
11-
xapianpy = "^1.4.22.post2305071405"
9+
python = ">=3.11, <4.0"
10+
pydantic = "^2.7"
1211
requests = "^2.31.0"
12+
xapianpy = {version = "1.4.22.post2406040406", optional = true}
1313

14+
[tool.poetry.extras]
15+
xapian = ["xapianpy"]
1416

1517
[tool.poetry.group.test.dependencies]
1618
pytest = "^7.4.0"

salinic/index.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -32,28 +32,28 @@ def remove(self, **kwargs):
3232

3333

3434
def get_ro_client_backend_class(engine):
35-
module_full_path = f'salinic.backends.{engine.url.scheme}.client'
35+
module_full_path = f'salinic.backends.{engine.url.scheme.value}.client'
3636
module = importlib.import_module(module_full_path)
3737

3838
return module.ClientRO
3939

4040

4141
def get_rw_client_backend_class(engine):
42-
module_full_path = f'salinic.backends.{engine.url.scheme}.client'
42+
module_full_path = f'salinic.backends.{engine.url.scheme.value}.client'
4343
module = importlib.import_module(module_full_path)
4444

4545
return module.ClientRW
4646

4747

4848
def get_ro_index_backend_class(engine):
49-
module_full_path = f'salinic.backends.{engine.url.scheme}.index'
49+
module_full_path = f'salinic.backends.{engine.url.scheme.value}.index'
5050
module = importlib.import_module(module_full_path)
5151

5252
return module.IndexRO
5353

5454

5555
def get_rw_index_backend_class(engine):
56-
module_full_path = f'salinic.backends.{engine.url.scheme}.index'
56+
module_full_path = f'salinic.backends.{engine.url.scheme.value}.index'
5757
module = importlib.import_module(module_full_path)
5858

5959
return module.IndexRW

salinic/schema_manager.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,15 @@ def get_schema_manager_backend(engine, model):
3535

3636

3737
def get_schema_manager_backend_class(engine):
38-
module_full_path = f'salinic.backends.{engine.url.scheme}.schema_manager'
38+
full_path = f'salinic.backends.{engine.url.scheme.value}.schema_manager'
39+
module_full_path = full_path
3940
module = importlib.import_module(module_full_path)
4041

4142
return module.SchemaManager
4243

4344

4445
def get_rw_client_backend_class(engine):
45-
module_full_path = f'salinic.backends.{engine.url.scheme}.client'
46+
module_full_path = f'salinic.backends.{engine.url.scheme.value}.client'
4647
module = importlib.import_module(module_full_path)
4748

4849
return module.ClientRW

tests/test_engine.py

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from salinic.engine import create_engine
2+
3+
4+
def test_engine():
5+
engine = create_engine('solr://solr-instance.default')
6+
assert engine.url.scheme == 'solr'
7+
assert str(engine.url.scheme.value) == 'solr'

tests/test_index.py

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
from salinic.engine import create_engine
2+
from salinic.index import get_ro_client_backend_class
3+
4+
5+
def test_get_ro_client_backend_class():
6+
url = "solr://solr-solrcloud-0.solr-solrcloud-headless.default"
7+
engine = create_engine(url)
8+
assert get_ro_client_backend_class(engine)

0 commit comments

Comments
 (0)