Merge pull request #558 from ritiek/pafy-prefer-secure-by-default

Pafy prefer secure HTTPS by default
This commit is contained in:
Ritiek Malhotra
2019-06-05 23:36:11 +05:30
committed by GitHub
5 changed files with 19 additions and 4 deletions

View File

@@ -14,6 +14,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
### Changed ### Changed
- -
## [1.2.2] - 2019-06-03
### Fixed
- Patch bug in Pafy to prefer secure HTTPS ([@ritiek](https://github.com/ritiek)) (#558)
## [1.2.1] - 2019-04-28 ## [1.2.1] - 2019-04-28
### Fixed ### Fixed
- Patch bug in Pafy when fetching audiostreams with latest youtube-dl ([@ritiek](https://github.com/ritiek)) (#539) - Patch bug in Pafy when fetching audiostreams with latest youtube-dl ([@ritiek](https://github.com/ritiek)) (#539)

View File

@@ -1 +1 @@
__version__ = "1.2.1" __version__ = "1.2.2"

View File

@@ -35,11 +35,21 @@ def _content_available(cls, url):
class PatchPafy: class PatchPafy:
"""
These patches have not been released by pafy on PyPI yet but
are useful to us.
"""
def patch_getbestthumb(self): def patch_getbestthumb(self):
# https://github.com/mps-youtube/pafy/pull/211
pafy.backend_shared.BasePafy._bestthumb = None pafy.backend_shared.BasePafy._bestthumb = None
pafy.backend_shared.BasePafy._content_available = _content_available pafy.backend_shared.BasePafy._content_available = _content_available
pafy.backend_shared.BasePafy.getbestthumb = _getbestthumb pafy.backend_shared.BasePafy.getbestthumb = _getbestthumb
def patch_process_streams(self): def patch_process_streams(self):
# https://github.com/mps-youtube/pafy/pull/230
backend_youtube_dl.YtdlPafy._old_process_streams = backend_youtube_dl.YtdlPafy._process_streams backend_youtube_dl.YtdlPafy._old_process_streams = backend_youtube_dl.YtdlPafy._process_streams
backend_youtube_dl.YtdlPafy._process_streams = _process_streams backend_youtube_dl.YtdlPafy._process_streams = _process_streams
def patch_insecure_streams(self):
# https://github.com/mps-youtube/pafy/pull/235
pafy.g.def_ydl_opts["prefer_insecure"] = False

View File

@@ -21,6 +21,7 @@ if pafy.__version__ <= "0.5.4":
pafy_patcher = patcher.PatchPafy() pafy_patcher = patcher.PatchPafy()
pafy_patcher.patch_getbestthumb() pafy_patcher.patch_getbestthumb()
pafy_patcher.patch_process_streams() pafy_patcher.patch_process_streams()
pafy_patcher.patch_insecure_streams()
def set_api_key(): def set_api_key():

View File

@@ -115,7 +115,7 @@ def test_write_playlist(tmpdir):
assert tracks == expect_tracks assert tracks == expect_tracks
# XXX: Mock this test off if it fails in future # XXX: Monkeypatch these tests if they fail in future
class TestFetchAlbum: class TestFetchAlbum:
@pytest.fixture(scope="module") @pytest.fixture(scope="module")
def album_fixture(self): def album_fixture(self):
@@ -131,7 +131,7 @@ class TestFetchAlbum:
assert album_fixture["tracks"]["total"] == 15 assert album_fixture["tracks"]["total"] == 15
# XXX: Mock this test off if it fails in future # XXX: Monkeypatch these tests if they fail in future
class TestFetchAlbumsFromArtist: class TestFetchAlbumsFromArtist:
@pytest.fixture(scope="module") @pytest.fixture(scope="module")
def albums_from_artist_fixture(self): def albums_from_artist_fixture(self):
@@ -141,7 +141,7 @@ class TestFetchAlbumsFromArtist:
return albums return albums
def test_len(self, albums_from_artist_fixture): def test_len(self, albums_from_artist_fixture):
assert len(albums_from_artist_fixture) == 52 assert len(albums_from_artist_fixture) == 53
def test_zeroth_album_name(self, albums_from_artist_fixture): def test_zeroth_album_name(self, albums_from_artist_fixture):
assert albums_from_artist_fixture[0]["name"] == "Revolution Radio" assert albums_from_artist_fixture[0]["name"] == "Revolution Radio"