Skip to content

Commit 7aa1326

Browse files
tsunyokutsunyokuKludex
authoredDec 17, 2022
Wrap types in typing.Optional where applicable (encode#510)
Co-authored-by: tsunyoku <[email protected]> Co-authored-by: Marcelo Trylesinski <[email protected]>
1 parent 8ec9168 commit 7aa1326

File tree

2 files changed

+37
-20
lines changed

2 files changed

+37
-20
lines changed
 

‎databases/core.py

+36-20
Original file line numberDiff line numberDiff line change
@@ -129,35 +129,41 @@ async def __aenter__(self) -> "Database":
129129

130130
async def __aexit__(
131131
self,
132-
exc_type: typing.Type[BaseException] = None,
133-
exc_value: BaseException = None,
134-
traceback: TracebackType = None,
132+
exc_type: typing.Optional[typing.Type[BaseException]] = None,
133+
exc_value: typing.Optional[BaseException] = None,
134+
traceback: typing.Optional[TracebackType] = None,
135135
) -> None:
136136
await self.disconnect()
137137

138138
async def fetch_all(
139-
self, query: typing.Union[ClauseElement, str], values: dict = None
139+
self,
140+
query: typing.Union[ClauseElement, str],
141+
values: typing.Optional[dict] = None,
140142
) -> typing.List[Record]:
141143
async with self.connection() as connection:
142144
return await connection.fetch_all(query, values)
143145

144146
async def fetch_one(
145-
self, query: typing.Union[ClauseElement, str], values: dict = None
147+
self,
148+
query: typing.Union[ClauseElement, str],
149+
values: typing.Optional[dict] = None,
146150
) -> typing.Optional[Record]:
147151
async with self.connection() as connection:
148152
return await connection.fetch_one(query, values)
149153

150154
async def fetch_val(
151155
self,
152156
query: typing.Union[ClauseElement, str],
153-
values: dict = None,
157+
values: typing.Optional[dict] = None,
154158
column: typing.Any = 0,
155159
) -> typing.Any:
156160
async with self.connection() as connection:
157161
return await connection.fetch_val(query, values, column=column)
158162

159163
async def execute(
160-
self, query: typing.Union[ClauseElement, str], values: dict = None
164+
self,
165+
query: typing.Union[ClauseElement, str],
166+
values: typing.Optional[dict] = None,
161167
) -> typing.Any:
162168
async with self.connection() as connection:
163169
return await connection.execute(query, values)
@@ -169,7 +175,9 @@ async def execute_many(
169175
return await connection.execute_many(query, values)
170176

171177
async def iterate(
172-
self, query: typing.Union[ClauseElement, str], values: dict = None
178+
self,
179+
query: typing.Union[ClauseElement, str],
180+
values: typing.Optional[dict] = None,
173181
) -> typing.AsyncGenerator[typing.Mapping, None]:
174182
async with self.connection() as connection:
175183
async for record in connection.iterate(query, values):
@@ -232,9 +240,9 @@ async def __aenter__(self) -> "Connection":
232240

233241
async def __aexit__(
234242
self,
235-
exc_type: typing.Type[BaseException] = None,
236-
exc_value: BaseException = None,
237-
traceback: TracebackType = None,
243+
exc_type: typing.Optional[typing.Type[BaseException]] = None,
244+
exc_value: typing.Optional[BaseException] = None,
245+
traceback: typing.Optional[TracebackType] = None,
238246
) -> None:
239247
async with self._connection_lock:
240248
assert self._connection is not None
@@ -243,14 +251,18 @@ async def __aexit__(
243251
await self._connection.release()
244252

245253
async def fetch_all(
246-
self, query: typing.Union[ClauseElement, str], values: dict = None
254+
self,
255+
query: typing.Union[ClauseElement, str],
256+
values: typing.Optional[dict] = None,
247257
) -> typing.List[Record]:
248258
built_query = self._build_query(query, values)
249259
async with self._query_lock:
250260
return await self._connection.fetch_all(built_query)
251261

252262
async def fetch_one(
253-
self, query: typing.Union[ClauseElement, str], values: dict = None
263+
self,
264+
query: typing.Union[ClauseElement, str],
265+
values: typing.Optional[dict] = None,
254266
) -> typing.Optional[Record]:
255267
built_query = self._build_query(query, values)
256268
async with self._query_lock:
@@ -259,15 +271,17 @@ async def fetch_one(
259271
async def fetch_val(
260272
self,
261273
query: typing.Union[ClauseElement, str],
262-
values: dict = None,
274+
values: typing.Optional[dict] = None,
263275
column: typing.Any = 0,
264276
) -> typing.Any:
265277
built_query = self._build_query(query, values)
266278
async with self._query_lock:
267279
return await self._connection.fetch_val(built_query, column)
268280

269281
async def execute(
270-
self, query: typing.Union[ClauseElement, str], values: dict = None
282+
self,
283+
query: typing.Union[ClauseElement, str],
284+
values: typing.Optional[dict] = None,
271285
) -> typing.Any:
272286
built_query = self._build_query(query, values)
273287
async with self._query_lock:
@@ -281,7 +295,9 @@ async def execute_many(
281295
await self._connection.execute_many(queries)
282296

283297
async def iterate(
284-
self, query: typing.Union[ClauseElement, str], values: dict = None
298+
self,
299+
query: typing.Union[ClauseElement, str],
300+
values: typing.Optional[dict] = None,
285301
) -> typing.AsyncGenerator[typing.Any, None]:
286302
built_query = self._build_query(query, values)
287303
async with self.transaction():
@@ -303,7 +319,7 @@ def raw_connection(self) -> typing.Any:
303319

304320
@staticmethod
305321
def _build_query(
306-
query: typing.Union[ClauseElement, str], values: dict = None
322+
query: typing.Union[ClauseElement, str], values: typing.Optional[dict] = None
307323
) -> ClauseElement:
308324
if isinstance(query, str):
309325
query = text(query)
@@ -338,9 +354,9 @@ async def __aenter__(self) -> "Transaction":
338354

339355
async def __aexit__(
340356
self,
341-
exc_type: typing.Type[BaseException] = None,
342-
exc_value: BaseException = None,
343-
traceback: TracebackType = None,
357+
exc_type: typing.Optional[typing.Type[BaseException]] = None,
358+
exc_value: typing.Optional[BaseException] = None,
359+
traceback: typing.Optional[TracebackType] = None,
344360
) -> None:
345361
"""
346362
Called when exiting `async with database.transaction()`

‎setup.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
[mypy]
22
disallow_untyped_defs = True
33
ignore_missing_imports = True
4+
no_implicit_optional = True
45

56
[tool:isort]
67
profile = black

0 commit comments

Comments
 (0)
Please sign in to comment.