Skip to content

Commit 4ce9a66

Browse files
committed
add extra debug statements
1 parent 75b1309 commit 4ce9a66

File tree

6 files changed

+306
-286
lines changed

6 files changed

+306
-286
lines changed

CHANGELOG.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Changelog
2+
3+
## 0.3.9 - 2024-04-21
4+
5+
- Add more logging/debug statements

LICENSE

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Version 2.0, January 2004
33
http://www.apache.org/licenses/
44

5-
Copyright 2023 Eugen Ciur <[email protected]>
5+
Copyright 2023-2024 Eugen Ciur <[email protected]>
66

77
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
88

poetry.lock

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

pyproject.toml

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

salinic/backends/solr/client.py

+36-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import logging
22

33
import requests
4+
from requests.exceptions import HTTPError
45

56
from salinic.query import SearchQuery
67
from salinic.url import URL
@@ -71,24 +72,52 @@ def remove(self, **kwargs):
7172
return response
7273

7374
def update_schema(self, data):
74-
return requests.post(
75+
logger.debug(
76+
f'POST {self.http_update_url} json={data}'
77+
)
78+
response = requests.post(
7579
self.http_schema_url,
7680
json=data
7781
)
82+
response.raise_for_status()
7883

7984
def field_exists(self, name: str) -> bool:
8085
# for normal fields
81-
response = requests.get(self.http_field_url(name))
82-
83-
if response.status_code == 404:
86+
url = self.http_field_url(name)
87+
logger.debug(f'GET {url}')
88+
response = requests.get(url)
89+
90+
try:
91+
response.raise_for_status()
92+
except HTTPError:
93+
if response.status_code == 404:
94+
# status 404 indicates that field does not exist, this
95+
# is normal flow
96+
logger.debug(f"Field {name} does not exist")
97+
return False
98+
# we got some other error messages (i.e. != 404)
99+
# log it
100+
logger.exception()
84101
return False
85102

86103
return True
87104

88105
def dynamicfield_exists(self, name: str) -> bool:
89-
response = requests.get(self.http_dynamicfield_url(name))
90-
91-
if response.status_code == 404:
106+
url = self.http_dynamicfield_url(name)
107+
logger.debug(f'GET {url}')
108+
response = requests.get(url)
109+
110+
try:
111+
response.raise_for_status()
112+
except HTTPError:
113+
if response.status_code == 404:
114+
# status 404 indicates that field does not exist, this
115+
# is normal flow
116+
logger.debug(f"Dynamic field {name} does not exist")
117+
return False
118+
# we got some other error messages (i.e. != 404)
119+
# log it
120+
logger.exception()
92121
return False
93122

94123
return True

salinic/backends/solr/schema_manager.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1+
import logging
12
from typing import List, Tuple
23

34
from salinic.field import Field, NumericField
45
from salinic.utils import first
56

67
from .types import CopyFieldDump, FieldDump, FieldType
78

9+
logger = logging.getLogger(__name__)
10+
811

912
class SchemaManager:
1013
def __init__(self, client, model):
@@ -15,7 +18,9 @@ def create(self):
1518
self.client.update_schema(self.create_dict_dump())
1619

1720
def apply(self):
18-
self.client.update_schema(self.apply_dict_dump())
21+
dict_dump = self.apply_dict_dump()
22+
logger.debug(f"Apply schema changes, dict_dump: {dict_dump}")
23+
self.client.update_schema(dict_dump)
1924

2025
def delete(self):
2126
self.client.update_schema(self.delete_dict_dump())

0 commit comments

Comments
 (0)