Skip to content

Commit 4abe687

Browse files
committed
pyright strict compliance
1 parent ef69b87 commit 4abe687

File tree

7 files changed

+31
-28
lines changed

7 files changed

+31
-28
lines changed

mystbin/client.py

100644100755
Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,7 @@ async def close(self) -> None:
4646
4747
Closes the internal HTTP session and this client.
4848
"""
49-
if self.http._session:
50-
await self.http._session.close()
49+
await self.http.close()
5150

5251
async def create_paste(
5352
self,
@@ -78,8 +77,8 @@ async def create_paste(
7877
The paste that was created.
7978
"""
8079
file = File(filename=filename, content=content)
81-
data = await self.http._create_paste(file=file, password=password, expires=expires)
82-
return Paste._from_data(data)
80+
data = await self.http.create_paste(file=file, password=password, expires=expires)
81+
return Paste.from_data(data)
8382

8483
async def create_multifile_paste(
8584
self, *, files: list[File], password: Optional[str] = None, expires: Optional[datetime.datetime] = None
@@ -102,8 +101,8 @@ async def create_multifile_paste(
102101
:class:`mystbin.Paste`
103102
The paste that was created.
104103
"""
105-
data = await self.http._create_paste(files=files, password=password, expires=expires)
106-
return Paste._from_data(data)
104+
data = await self.http.create_paste(files=files, password=password, expires=expires)
105+
return Paste.from_data(data)
107106

108107
@require_authentication
109108
async def delete_paste(self, paste_id: str, /) -> None:
@@ -116,7 +115,7 @@ async def delete_paste(self, paste_id: str, /) -> None:
116115
paste_id: :class:`str`
117116
The paste to delete.
118117
"""
119-
await self.http._delete_pastes(paste_ids=[paste_id])
118+
await self.http.delete_pastes(paste_ids=[paste_id])
120119

121120
@require_authentication
122121
async def delete_pastes(self, paste_ids: list[str], /) -> None:
@@ -129,7 +128,7 @@ async def delete_pastes(self, paste_ids: list[str], /) -> None:
129128
paste_ids: list[:class:`str`]
130129
The pastes to delete.
131130
"""
132-
await self.http._delete_pastes(paste_ids=paste_ids)
131+
await self.http.delete_pastes(paste_ids=paste_ids)
133132

134133
async def get_paste(self, paste_id: str, *, password: Optional[str] = None) -> Paste:
135134
"""|coro|
@@ -143,8 +142,8 @@ async def get_paste(self, paste_id: str, *, password: Optional[str] = None) -> P
143142
password: Optional[:class:`str`]
144143
The password of the paste, if any.
145144
"""
146-
data = await self.http._get_paste(paste_id=paste_id, password=password)
147-
return Paste._from_data(data)
145+
data = await self.http.get_paste(paste_id=paste_id, password=password)
146+
return Paste.from_data(data)
148147

149148
# @overload
150149
# async def edit_paste(self, paste_id: str, *, new_content: str, new_filename: ..., new_expires: ...) -> None:
@@ -209,6 +208,6 @@ async def get_user_pastes(self, *, limit: int = 100) -> list[Paste]:
209208
list[:class:`Paste`]
210209
The pastes that were fetched.
211210
"""
212-
data = await self.http._get_my_pastes(limit=limit)
211+
data = await self.http.get_my_pastes(limit=limit)
213212

214-
return [Paste._from_data(x) for x in data]
213+
return [Paste.from_data(x) for x in data]

mystbin/errors.py

100644100755
File mode changed.

mystbin/http.py

100644100755
Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -138,10 +138,14 @@ class HTTPClient:
138138
def __init__(self, *, token: Optional[str], session: Optional[aiohttp.ClientSession] = None) -> None:
139139
self._token: Optional[str] = token
140140
self._session: Optional[aiohttp.ClientSession] = session
141-
self._locks: weakref.WeakValueDictionary = weakref.WeakValueDictionary()
141+
self._locks: weakref.WeakValueDictionary[str, asyncio.Lock] = weakref.WeakValueDictionary()
142142
user_agent = "mystbin.py (https://github.com/PythonistaGuild/mystbin.py {0}) Python/{1[0]}.{1[1]} aiohttp/{2}"
143143
self.user_agent: str = user_agent.format(__version__, sys.version_info, aiohttp.__version__)
144144

145+
async def close(self) -> None:
146+
if self._session:
147+
await self._session.close()
148+
145149
async def _generate_session(self) -> aiohttp.ClientSession:
146150
self._session = aiohttp.ClientSession()
147151
return self._session
@@ -237,7 +241,7 @@ async def request(self, route: Route, **kwargs: Any) -> Any:
237241

238242
raise RuntimeError("Unreachable code in HTTP handling.")
239243

240-
def _create_paste(
244+
def create_paste(
241245
self,
242246
*,
243247
file: Optional[File] = None,
@@ -249,9 +253,9 @@ def _create_paste(
249253

250254
json_: dict[str, Any] = {}
251255
if file:
252-
json_["files"] = [file._to_dict()]
256+
json_["files"] = [file.to_dict()]
253257
elif files:
254-
json_["files"] = [f._to_dict() for f in files]
258+
json_["files"] = [f.to_dict() for f in files]
255259

256260
if password:
257261
json_["password"] = password
@@ -260,21 +264,21 @@ def _create_paste(
260264

261265
return self.request(route=route, json=json_)
262266

263-
def _delete_paste(self, *, paste_id: str) -> Response[None]:
264-
return self._delete_pastes(paste_ids=[paste_id])
267+
def delete_paste(self, *, paste_id: str) -> Response[None]:
268+
return self.delete_pastes(paste_ids=[paste_id])
265269

266-
def _delete_pastes(self, *, paste_ids: list[str]) -> Response[None]:
270+
def delete_pastes(self, *, paste_ids: list[str]) -> Response[None]:
267271
route = Route("DELETE", "/paste")
268272
return self.request(route=route, json={"pastes": paste_ids})
269273

270-
def _get_paste(self, *, paste_id: str, password: Optional[str]) -> Response[PasteResponse]:
274+
def get_paste(self, *, paste_id: str, password: Optional[str]) -> Response[PasteResponse]:
271275
route = Route("GET", "/paste/{paste_id}", paste_id=paste_id)
272276

273277
if password:
274278
return self.request(route=route, params={"password": password})
275279
return self.request(route=route)
276280

277-
def _edit_paste(
281+
def edit_paste(
278282
self,
279283
paste_id: str,
280284
*,
@@ -297,7 +301,7 @@ def _edit_paste(
297301

298302
return self.request(route, json=json_)
299303

300-
def _get_my_pastes(self, *, limit: int) -> Response[list[PasteResponse]]:
304+
def get_my_pastes(self, *, limit: int) -> Response[list[PasteResponse]]:
301305
route = Route("GET", "/pastes/@me")
302306

303307
return self.request(route, params={limit: limit})

mystbin/paste.py

100644100755
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ def character_count(self) -> int:
7676
return self._character_count
7777

7878
@classmethod
79-
def _from_data(cls, payload: FileResponse, /) -> Self:
79+
def from_data(cls, payload: FileResponse, /) -> Self:
8080
self = cls(
8181
content=payload["content"],
8282
filename=payload["filename"],
@@ -86,7 +86,7 @@ def _from_data(cls, payload: FileResponse, /) -> Self:
8686

8787
return self
8888

89-
def _to_dict(self) -> dict[str, Any]:
89+
def to_dict(self) -> dict[str, Any]:
9090
ret: dict[str, Any] = {"content": self.content, "filename": self.filename}
9191

9292
return ret
@@ -154,8 +154,8 @@ def views(self) -> Optional[int]:
154154
return self._views
155155

156156
@classmethod
157-
def _from_data(cls, payload: PasteResponse, /) -> Self:
158-
files = [File._from_data(data) for data in payload["files"]]
157+
def from_data(cls, payload: PasteResponse, /) -> Self:
158+
files = [File.from_data(data) for data in payload["files"]]
159159
self = cls(
160160
id=payload["id"],
161161
created_at=payload["created_at"],

mystbin/types/__init__.py

100644100755
File mode changed.

mystbin/types/responses.py

100644100755
File mode changed.

mystbin/utils.py

100644100755
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
class _MissingSentinel:
4141
__slots__ = ()
4242

43-
def __eq__(self, other) -> bool:
43+
def __eq__(self, other: object) -> bool:
4444
return False
4545

4646
def __bool__(self) -> bool:
@@ -49,7 +49,7 @@ def __bool__(self) -> bool:
4949
def __hash__(self) -> int:
5050
return 0
5151

52-
def __repr__(self):
52+
def __repr__(self) -> str:
5353
return "..."
5454

5555

0 commit comments

Comments
 (0)