HDRezka 3.2.2

Creator: railscoder56

Last updated:

Add to Cart

Description:

HDRezka 3.2.2

HDRezka site API.
Install
pip install HDRezka
Example
import asyncio
from hdrezka import Search


async def main():
player = await (await Search('Breaking Bad').get_page(1))[0].player
print(player.post.info, end='\n\n')

translator_id = None # default
for name, id_ in player.post.translators.name_id.items():
if 'субтитры' in name.casefold(): translator_id = id_; break

stream = await player.get_stream(1, 1, translator_id) # raise AJAXFail if invalid episode or translator
video = stream.video
print(await video.last_url) # best quality (.m3u8)
print((await video[video.min].last_url).mp4, end='\n\n') # worst quality (.mp4)

subtitles = stream.subtitles
print(subtitles.default.url) # subtitles.ru.url or subtitles['Русский'].url


if __name__ == '__main__': asyncio.run(main())

Documentation

CHANGELOG
3.2.2


post.urls

Added supports of added support for quality in the format 2K, 4K, ...



3.2.1


post.kind.video

if await VideoURL instance, it's follow url redirects and return correct download url.
See issue 5.
Now VideoURL.mp4 is property.



api.http

passed get_response(..., **kwargs) have more weight than DEFAULT_REQUEST_KWARGS.



3.2.0


Documentation and doc-strings improved.


Type-checking improved (None-safety checks)


New submodule api.types.


api


http

Added RequestKwargs(TypedDict) type-hint.
DEFAULT_CLINET_KWARGS replaced with just DEFAULT_CLIENT.



types

Added APIResponse(TypedDict) type-hint.





post.fields

Added default empty strings.



post.info.PostInfo

if age_rating rating not found, AgeRating.age sets -1.



post.urls.king.video.VideoURLs

__getitem__(self, item: str | SupportsInt | Iterable | slice) updated (see documentations).



stream.player

fixed issue 1.
fixed issue 4.
PlayerType everyplace replaced with PlayerMovie | PlayerSeries.



3.1.2


post.urls

Fixed issue 2. rezka.ag stopped redirecting from links of
this type:"https://rezka.ag/1-1.html". now returns a 500
error.



3.1.1

Documentation improved.

3.1.0


requirements.txt

bs4 replaced with beautifulsoup4.
lxml now installs on versions < 3.13 (instead of < 3.12).



api.http

Added DEFAULT_REQUEST_KWARGS.



3.0.3


stream.player


Player Caching

fixed RuntimeError: dictionary changed size during iteration.
removed sys.getsizeof (for compatibility with PyPy), used len instead.





3.0.2


post.urls.kind.VideoURLs

__init__(self, data: str | dict) now raises TypeError
if data isn't of type str | dict (see this issue).



3.0.1

Now __await__ method (need await ... expression) instead ainit method.

3.0.0


Now a fully asynchronous package.


post.page.Page

Implements __aiter__ and __anext__ methods that list all the pages found.
Instead of get_pages, now only the get_page method.



2.0.1

Fixed bug with PIP.

2.0.0
Backward incompatible changes have been made.


New submodules urls.short, urls.kind, urls.kind.quality, urls.kind.subtitles, urls.kind.video.


Optimizations.


Ajax renamed to AJAX (PEP-8).


the get_stream method now contains the video attribute and the subtitle attribute.


urls

New function urls_from_ajax_response -> URLs.



urls.short

short_url, long_url.



urls.kind

class Quality now in urls.king.quality (also in __init__).



urls.kind.video

classes VideoURL, VideoURLs.



urls.kind.subtitle

classes SubtitleURL, SubtitleURLs.



1.1.3

internal bugfixes.

1.1.2


added pdoc documentation.


now Python 3.10 has become the minimum compatible version.


removed all from __future__ import annotations statements.


used match...case statements.


optimization.


new submodule api.http.


get_response moved to api.http submodule.


1.1.1

fixed bug with importing stream.Post.
fixed post.urls.url_short function.

1.1.0


post.urls.short_url now even shorter.


errors

EmptySearchPage replaced with EmptyPage.



New submodule post.page


post.page

new Page class that will parse any page rezka.ag on InlineItem (new data class).



api.search

Search now inherited from Page.



1.0.0
Backward incompatible changes have been made.


bs4 now selects lxml (if it available) once at startup.


new submodule post, post.info, post.info.fields.


class post.Post created.


class post.info.PostInfo created.


urls submodule now is post.urls.


stream

type-hinting fixes.
Player now caching.



post.urls

short_url and long_url functions added (caching).
short_url, long_url, Quality, URL now in __all__.



post.info.fields

classes Rating, Place, Release, AgeRating, Duration, Poster created.



0.0.2

initial version.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.