diff --git a/ural/youtube.py b/ural/youtube.py index 281b433..bd4a8b0 100644 --- a/ural/youtube.py +++ b/ural/youtube.py @@ -429,4 +429,8 @@ def normalize_youtube_url(url): return YOUTUBE_CHANNEL_NAME_URL_TEMPLATE % parsed.name + if isinstance(parsed, YoutubeShort): + if parsed.id is not None: + return YOUTUBE_SHORT_URL_TEMPLATE % parsed.id + raise TypeError("normalize_youtube_url: impossible path reached") diff --git a/ural/youtube.pyi b/ural/youtube.pyi index 6fac1ce..f305c02 100644 --- a/ural/youtube.pyi +++ b/ural/youtube.pyi @@ -12,6 +12,9 @@ class YoutubeChannel(NamedTuple): id: str name: str +class YoutubeShort(NamedTuple): + id: str + def is_youtube_url(url: AnyUrlTarget) -> bool: ... def is_youtube_video_id(value: str) -> bool: ... def is_youtube_channel_id(value: str) -> bool: ...