Resources¶
Each resource class is exposed as a namespace on the client (e.g.
client.torrents → TorrentResource). Methods call the underlying Gazelle
ajax.php action and return typed models.
pygazelle.resources.torrents.TorrentResource
¶
Bases: BaseResource
Source code in src/pygazelle/resources/base.py
get
async
¶
get(torrent_id: int) -> Torrent
Source code in src/pygazelle/resources/torrents.py
get_group
async
¶
get_group(group_id: int) -> TorrentGroup
Source code in src/pygazelle/resources/torrents.py
search
async
¶
search(
query: str, **params: str | int
) -> list[TorrentResult]
download
async
¶
add_tag
async
¶
add_tag(
group_id: int, tags: str | list[str]
) -> TagAddition
Add tag(s) to a torrent group (action=add_tag).
tags may be a single tag, a comma-separated string, or a list of
tags (joined into the comma-separated tagname the API expects).
Raises ValueError if no tags are given.
Source code in src/pygazelle/resources/torrents.py
add_log
async
¶
add_log(
torrent_id: int, logfiles: bytes | list[bytes]
) -> LogAddition
Attach rip log file(s) to a torrent (action=add_log).
The torrent id is a query param; the logs are multipart logfiles[].
Raises ValueError if no log files are given.
Source code in src/pygazelle/resources/torrents.py
pygazelle.resources.artists.ArtistResource
¶
Bases: BaseResource
Source code in src/pygazelle/resources/base.py
search
async
¶
search(name: str) -> list[ArtistResult]
Source code in src/pygazelle/resources/artists.py
similar
async
¶
Source code in src/pygazelle/resources/artists.py
pygazelle.resources.user.UserResource
¶
Bases: BaseResource
Source code in src/pygazelle/resources/base.py
get
async
¶
search
async
¶
torrents
async
¶
torrents(
user_id: int,
type: UserTorrentType,
limit: int | None = None,
offset: int | None = None,
) -> list[UserTorrent]
Source code in src/pygazelle/resources/user.py
announce_url
async
¶
The current user's announce URL on this tracker (passkey + announce host).
Source code in src/pygazelle/resources/user.py
pygazelle.resources.notifications.NotificationResource
¶
Bases: BaseResource
Source code in src/pygazelle/resources/base.py
list
async
¶
list(**params: str | int) -> list[Notification]
pygazelle.resources.requests.RequestResource
¶
Bases: BaseResource
Source code in src/pygazelle/resources/base.py
search
async
¶
search(
query: str, **params: str | int
) -> list[RequestResult]
fill
async
¶
fill(
request_id: int,
*,
torrent_id: int | None = None,
link: str | None = None,
user: str | None = None,
) -> RequestFill
Mark a request filled (action=request_fill).
Provide either torrent_id or a link to the filling torrent;
user is mod-only. Raises ValueError if neither is given.
Source code in src/pygazelle/resources/requests.py
pygazelle.resources.collages.CollageResource
¶
Bases: BaseResource
Source code in src/pygazelle/resources/base.py
pygazelle.resources.inbox.InboxResource
¶
pygazelle.resources.bookmarks.BookmarkResource
¶
Bases: BaseResource
Source code in src/pygazelle/resources/base.py
torrents
async
¶
torrents() -> list[BookmarkedTorrentGroup]
artists
async
¶
artists() -> list[BookmarkedArtist]
pygazelle.resources.subscriptions.SubscriptionResource
¶
Bases: BaseResource
Source code in src/pygazelle/resources/base.py
pygazelle.resources.site.SiteResource
¶
Bases: BaseResource
Source code in src/pygazelle/resources/base.py
top10
async
¶
top10(
type: Top10Type = "torrents", limit: int | None = None
) -> list[Top10Category]
Source code in src/pygazelle/resources/site.py
announcements
async
¶
announcements() -> Announcements