Trending videos
This commit is contained in:
parent
d17a0cca73
commit
50cc8eb956
7 changed files with 128 additions and 40 deletions
|
@ -1,30 +0,0 @@
|
|||
from tests import CLIENT
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
def test_video(video_id: str='dQw4w9WgXcQ') -> None:
|
||||
"""
|
||||
Prints out information about a video.
|
||||
"""
|
||||
|
||||
video = CLIENT.get_video(video_id)
|
||||
short_description = video.description[:100].replace('\n', '')
|
||||
|
||||
print(f"""
|
||||
Video ID: {video_id}
|
||||
Title: {video.title}
|
||||
Description: {short_description}...
|
||||
Views: {video.views}
|
||||
|
||||
Uploaded by: {video.uploader}
|
||||
Uploaded on: {video.upload_date} ({datetime.now().year - video.upload_date.year} years ago)
|
||||
|
||||
Duration: {video.duration}
|
||||
FPS: {video.get_streams('video')[0].fps}
|
||||
""")
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
test_video()
|
63
tests/test_videos.py
Normal file
63
tests/test_videos.py
Normal file
|
@ -0,0 +1,63 @@
|
|||
import typing as t
|
||||
|
||||
from tests import CLIENT
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
def test_video(video_id: str='dQw4w9WgXcQ') -> None:
|
||||
"""
|
||||
Prints out information about a video.
|
||||
"""
|
||||
|
||||
video = CLIENT.get_video(video_id)
|
||||
short_description = video.description[:100].replace('\n', '')
|
||||
|
||||
print(f"""
|
||||
Video ID: {video_id}
|
||||
Title: {video.title}
|
||||
Description: {short_description}...
|
||||
Views: {video.views}
|
||||
|
||||
Uploaded by: {video.uploader}
|
||||
Uploaded on: {video.upload_date} ({datetime.now().year - video.upload_date.year} years ago)
|
||||
|
||||
Duration: {video.duration}
|
||||
FPS: {video.get_streams('video')[0].fps}
|
||||
""")
|
||||
|
||||
|
||||
|
||||
def test_trending(country_codes: t.List[str]=['US', 'SK', 'CN']) -> None:
|
||||
"""
|
||||
Prints out trending videos for a specific country.
|
||||
"""
|
||||
|
||||
for country_code in country_codes:
|
||||
videos = CLIENT.get_trending(country_code)
|
||||
|
||||
# Nothing ever trends in China's YouTube:
|
||||
if country_code == 'CN':
|
||||
assert len(videos) == 0
|
||||
print("\nYes, empty list works.")
|
||||
|
||||
for video in videos:
|
||||
print(f"{video.uploader_name} >> {video.title} ({video.views} views)")
|
||||
|
||||
|
||||
|
||||
def test_get_audio(video_id: str='dQw4w9WgXcQ') -> None:
|
||||
"""
|
||||
Prints out the first audio stream URL for a video.
|
||||
"""
|
||||
|
||||
video = CLIENT.get_video(video_id)
|
||||
audio_stream = video.get_streams('audio')[0]
|
||||
|
||||
print(f"Audio stream URL: {audio_stream.url} ({audio_stream.mime_type})")
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
test_video()
|
||||
test_trending()
|
||||
test_get_audio()
|
Loading…
Add table
Add a link
Reference in a new issue