Skip to content

Commit e7fa18c

Browse files
committed
chore: Applying pre-commit checks
1 parent e26c4b7 commit e7fa18c

23 files changed

Lines changed: 171 additions & 144 deletions

pyproject.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,3 @@ solr = "sqlalchemy_solr.http:SolrDialect_http"
3535

3636
[tool.setuptools.dynamic]
3737
version = {attr = "sqlalchemy_solr.__version__"}
38-

setup.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,18 @@
99
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1010
# See the License for the specific language governing permissions and
1111
# limitations under the License.
12-
1312
import os
1413

1514
from setuptools import setup
1615

1716
readme = os.path.join(os.path.dirname(__file__), "README.md")
18-
with open(readme, encoding='utf-8') as f:
17+
with open(readme, encoding="utf-8") as f:
1918
long_description = f.read()
2019

2120
setup(
2221
long_description=long_description,
2322
long_description_content_type="text/markdown",
2423
tests_require=["pysolr", "pytest >= 6.2.1"],
2524
test_suite="nose.collector",
26-
zip_safe=False
25+
zip_safe=False,
2726
)
Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
from requests import Session
22

3+
34
class SolrSpec:
45

56
_spec = None
67

78
def __init__(self, solr_base_url):
89
session = Session()
9-
sys_info_response = session.get(solr_base_url + "/admin/info/system",
10-
params={"wt": "json"})
10+
sys_info_response = session.get(
11+
solr_base_url + "/admin/info/system", params={"wt": "json"}
12+
)
1113
spec_version = sys_info_response.json()["lucene"]["solr-spec-version"]
12-
self._spec = list(map(int, spec_version.split('.')))
14+
self._spec = list(map(int, spec_version.split(".")))
1315

1416
def __str__(self) -> str:
15-
return '.'.join(list(map(str, self._spec)))
17+
return ".".join(list(map(str, self._spec)))
1618

1719
def spec(self):
1820
return self._spec

src/sqlalchemy_solr/base.py

Lines changed: 37 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,14 @@
3131
from sqlalchemy.sql import operators
3232
from sqlalchemy.sql.expression import BindParameter
3333

34-
from .solrdbapi import Connection
35-
3634
from . import solrdbapi as module
37-
38-
from .type_map import type_map
39-
4035
from .solr_type_compiler import SolrTypeCompiler
36+
from .solrdbapi import Connection
37+
from .type_map import type_map
4138

4239
logging.basicConfig(format="%(asctime)s - %(message)s", level=logging.ERROR)
4340

41+
4442
class SolrCompiler(compiler.SQLCompiler):
4543
# pylint: disable=abstract-method
4644

@@ -61,13 +59,15 @@ def default_from(self):
6159
return " FROM (values(1))"
6260

6361
# pylint: disable=too-many-arguments, too-many-branches
64-
def visit_binary(self,
62+
def visit_binary(
63+
self,
6564
binary,
6665
override_operator=None,
6766
eager_grouping=False,
6867
from_linter=None,
6968
lateral_from_linter=None,
70-
**kw):
69+
**kw,
70+
):
7171

7272
# Handled in Solr 9
7373
if Connection.solr_spec.spec()[0] >= self.SOLR_DATE_RANGE_TRANS_RELEASE:
@@ -104,13 +104,17 @@ def visit_binary(self,
104104
if isinstance(
105105
kw[str(binary.left)][uoperator].right.text, BindParameter
106106
):
107-
udatetime = parser.parse(self.unescape_colon(
108-
kw[str(binary.left)][uoperator].right.effective_value
109-
))
107+
udatetime = parser.parse(
108+
self.unescape_colon(
109+
kw[str(binary.left)][uoperator].right.effective_value
110+
)
111+
)
110112
else:
111-
udatetime = parser.parse(self.unescape_colon(
112-
kw[str(binary.left)][uoperator].right.text
113-
))
113+
udatetime = parser.parse(
114+
self.unescape_colon(
115+
kw[str(binary.left)][uoperator].right.text
116+
)
117+
)
114118
else:
115119
ubound, udatetime = "]", "*"
116120
else:
@@ -123,16 +127,18 @@ def visit_binary(self,
123127
if operators.ge in kw[str(binary.left)]
124128
else ("{", operators.gt)
125129
)
126-
if isinstance(
127-
kw[str(binary.left)][loperator].right, BindParameter
128-
):
129-
ldatetime = parser.parse(self.unescape_colon(
130-
kw[str(binary.left)][loperator].right.effective_value
131-
))
130+
if isinstance(kw[str(binary.left)][loperator].right, BindParameter):
131+
ldatetime = parser.parse(
132+
self.unescape_colon(
133+
kw[str(binary.left)][loperator].right.effective_value
134+
)
135+
)
132136
else:
133-
ldatetime = parser.parse(self.unescape_colon(
134-
kw[str(binary.left)][loperator].right.text
135-
))
137+
ldatetime = parser.parse(
138+
self.unescape_colon(
139+
kw[str(binary.left)][loperator].right.text
140+
)
141+
)
136142
else:
137143
lbound, ldatetime = "[", "*"
138144

@@ -170,23 +176,26 @@ def visit_clauselist(self, clauselist, **kw):
170176
return super().visit_clauselist(clauselist, **kw)
171177

172178
def visit_array(self, element, **kw):
173-
return "ARRAY[%s]" % self.visit_clauselist(element, **kw) # pylint: disable=consider-using-f-string
179+
return f"ARRAY[{self.visit_clauselist(element, **kw)}]"
174180

175181
def unescape_colon(self, s: str) -> str:
176182
"""Unescape colon if present in datetime value"""
177-
return s.replace(r'\:', ':')
183+
return s.replace(r"\:", ":")
178184

179185
def datetime_str(self, dt) -> str:
180186
if dt == "*":
181187
return dt
182188

183189
return dt.isoformat() + "Z"
184190

191+
185192
class SolrIdentifierPreparer(compiler.IdentifierPreparer):
186193
# pylint: disable=too-few-public-methods
187194

188-
# Solr has no schema concept
189-
schema_for_object = lambda self, obj: () # pylint: disable=unnecessary-lambda-assignment
195+
# Solr has no schema concept
196+
schema_for_object = (
197+
lambda self, obj: () # pylint: disable=unnecessary-lambda-assignment
198+
)
190199

191200
reserved_words = compiler.RESERVED_WORDS.copy()
192201
reserved_words.update(
@@ -546,14 +555,14 @@ def get_foreign_keys(self, connection, table_name, schema=None, **kw):
546555
return []
547556

548557
def get_indexes(self, connection, table_name, schema=None, **kw):
549-
"""Solr has no support for indexes. Returns an empty list. """
558+
"""Solr has no support for indexes. Returns an empty list."""
550559
return []
551560

552561
def get_pk_constraint(self, connection, table_name, schema=None, **kw):
553562
"""Solr has no support for primary keys. Retunrs an empty list."""
554563
return []
555564

556-
def get_schema_names(self, connection, **kw): # pylint: disable=unused-argument
565+
def get_schema_names(self, connection, **kw): # pylint: disable=unused-argument
557566
return tuple(["default"])
558567

559568
def get_view_names(self, connection, schema=None, **kw):

src/sqlalchemy_solr/http.py

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,20 +21,19 @@
2121
# -*- coding: utf-8 -*-
2222
import logging
2323

24-
from requests import RequestException, Session
25-
24+
from requests import RequestException
25+
from requests import Session
2626
from sqlalchemy_solr.solrdbapi.api_exceptions import DatabaseError
2727

2828
from .api_globals import _HEADER
2929
from .api_globals import _PAYLOAD
30-
3130
from .base import SolrDialect
3231
from .message_formatter import MessageFormatter
3332

3433
logging.basicConfig(format="%(asctime)s - %(message)s", level=logging.ERROR)
3534

3635

37-
class SolrDialect_http(SolrDialect): # pylint: disable=invalid-name
36+
class SolrDialect_http(SolrDialect): # pylint: disable=invalid-name
3837
# pylint: disable=abstract-method,too-many-instance-attributes
3938

4039
supports_statement_cache = True
@@ -72,7 +71,7 @@ def create_connect_args(self, url):
7271
self.proto = "https://"
7372

7473
if "token" in url.query:
75-
if url.query["token"] is not None :
74+
if url.query["token"] is not None:
7675
self.token = url.query["token"]
7776

7877
# Mapping server path and collection
@@ -97,11 +96,15 @@ def create_connect_args(self, url):
9796
# Prepare a session with proper authorization handling.
9897
session = Session()
9998
# session.verify property which is bydefault true so Handled here
100-
if "verify_ssl" in url.query and url.query["verify_ssl"] in [False, "False", "false"]:
99+
if "verify_ssl" in url.query and url.query["verify_ssl"] in [
100+
False,
101+
"False",
102+
"false",
103+
]:
101104
session.verify = False
102105

103106
if self.token is not None:
104-
session.headers.update({'Authorization': f'Bearer {self.token}'})
107+
session.headers.update({"Authorization": f"Bearer {self.token}"})
105108
else:
106109
session.auth = (self.username, self.password)
107110
# Utilize this session in other methods.
@@ -126,13 +129,13 @@ def get_columns(self, connection, table_name, schema=None, **kw):
126129
local_payload = _PAYLOAD.copy()
127130

128131
if "columns" in kw:
129-
columns = kw['columns']
132+
columns = kw["columns"]
130133
else:
131134
columns = []
132135
self._get_aliases(local_payload)
133136

134137
if table_name in self.aliases:
135-
for collection in self.aliases[table_name].split(','):
138+
for collection in self.aliases[table_name].split(","):
136139
self.get_columns(None, collection, columns=columns)
137140

138141
return self.get_unique_columns(columns)
@@ -199,10 +202,10 @@ def _session_get(self, payload, path: str):
199202

200203
def get_unique_columns(self, columns):
201204
unique_columns = []
202-
columns_set = {column['name'] for column in columns}
205+
columns_set = {column["name"] for column in columns}
203206
for c in columns:
204-
if c['name'] in columns_set:
207+
if c["name"] in columns_set:
205208
unique_columns.append(c)
206-
columns_set.remove(c['name'])
209+
columns_set.remove(c["name"])
207210

208211
return unique_columns

src/sqlalchemy_solr/solr_type_compiler.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
class SolrTypeCompiler(compiler.GenericTypeCompiler):
55
# pylint: disable=too-few-public-methods
6-
def visit_ARRAY(self, type_, **kw): # pylint: disable=invalid-name,unused-argument
6+
def visit_ARRAY(self, type_, **kw): # pylint: disable=invalid-name,unused-argument
77

88
inner = self.process(type_.item_type)
99
return inner

src/sqlalchemy_solr/solrdbapi/_solrdbapi.py

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,21 @@
55
from requests import Session
66

77
from ..admin.solr_spec import SolrSpec
8-
98
from ..api_globals import _HEADER
109
from ..api_globals import _PAYLOAD
1110
from ..message_formatter import MessageFormatter
12-
13-
from .api_exceptions import ConnectionClosedException, DatabaseHTTPError
14-
from .api_exceptions import UninitializedResultSetError
11+
from .api_exceptions import ConnectionClosedException
1512
from .api_exceptions import CursorClosedException
13+
from .api_exceptions import DatabaseHTTPError
1614
from .api_exceptions import ProgrammingError
15+
from .api_exceptions import UninitializedResultSetError
1716
from .solr_reflect import SolrTableReflection
1817

19-
apilevel = "2.0" # pylint: disable=invalid-name
20-
threadsafety = 3 # pylint: disable=invalid-name
21-
paramstyle = "qmark" # pylint: disable=invalid-name
22-
default_storage_plugin = "" # pylint: disable=invalid-name
18+
apilevel = "2.0" # pylint: disable=invalid-name
19+
threadsafety = 3 # pylint: disable=invalid-name
20+
paramstyle = "qmark" # pylint: disable=invalid-name
21+
default_storage_plugin = "" # pylint: disable=invalid-name
22+
2323

2424
# Python DB API 2.0 classes
2525
class Cursor:
@@ -83,16 +83,14 @@ def substitute_in_query(string_query, parameters):
8383
query = string_query
8484
for param in parameters:
8585
if isinstance(param, str):
86-
query = query.replace("?", f"'{param}'", 1)
86+
query = query.replace("?", f"{param!r}", 1)
8787
else:
8888
query = query.replace("?", str(param), 1)
8989
return query
9090

9191
@staticmethod
9292
# pylint: disable=too-many-arguments
93-
def submit_query(
94-
query, host, port, proto, server_path, collection, session
95-
):
93+
def submit_query(query, host, port, proto, server_path, collection, session):
9694
local_payload = _PAYLOAD.copy()
9795
local_payload["stmt"] = query
9896
return session.get(
@@ -175,7 +173,7 @@ def execute(self, operation, parameters=()):
175173
self.rowcount = len(self._result_set)
176174
self._result_set_status = iter(range(len(self._result_set)))
177175
self.description = tuple(
178-
zip(
176+
zip( # noqa: B905
179177
column_names,
180178
column_types,
181179
[None for i in range(len(self._result_set.dtypes.index))],
@@ -303,7 +301,7 @@ def __init__(
303301
self._session = session
304302
self._connected = True
305303

306-
Connection.solr_spec = SolrSpec(f'{proto}{host}:{port}/{server_path}')
304+
Connection.solr_spec = SolrSpec(f"{proto}{host}:{port}/{server_path}")
307305

308306
SolrTableReflection.connection = self
309307

@@ -344,7 +342,6 @@ def rollback(self):
344342
Solr does not support rollback
345343
"""
346344

347-
348345
@connected_
349346
def cursor(self):
350347
return Cursor(
@@ -377,7 +374,7 @@ def connect(
377374

378375
session = Session()
379376
# bydefault session.verify is set to True
380-
if verify_ssl is not None and verify_ssl in [False,"False","false"]:
377+
if verify_ssl is not None and verify_ssl in [False, "False", "false"]:
381378
session.verify = False
382379

383380
if use_ssl in [True, "True", "true"]:
@@ -401,8 +398,9 @@ def connect(
401398
host, db, username, password, server_path, collection, port, proto, session
402399
)
403400

401+
404402
def add_authorization(session, username, password, token):
405403
if token is not None:
406-
session.headers.update({'Authorization': f'Bearer {token}'})
404+
session.headers.update({"Authorization": f"Bearer {token}"})
407405
else:
408406
session.auth = (username, password)

0 commit comments

Comments
 (0)