mirror of
https://github.com/ytdl-org/youtube-dl.git
synced 2024-11-21 17:51:51 +00:00
[utils] Back-port Namespace and MEDIA_EXTENSIONS from yt-dlp
Thx pukkandan * Namespace: https://github.com/yt-dlp/yt-dlp/commit/591bb9d355 * MEDIA_EXTENSIONS: https://github.com/yt-dlp/yt-dlp/commit/8dc5930511
This commit is contained in:
parent
4d05f84325
commit
3c466186a8
1 changed files with 31 additions and 13 deletions
|
@ -1717,20 +1717,38 @@ TIMEZONE_NAMES = {
|
||||||
'PST': -8, 'PDT': -7 # Pacific
|
'PST': -8, 'PDT': -7 # Pacific
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class Namespace(object):
|
||||||
|
"""Immutable namespace"""
|
||||||
|
|
||||||
|
def __init__(self, **kw_attr):
|
||||||
|
self.__dict__.update(kw_attr)
|
||||||
|
|
||||||
|
def __iter__(self):
|
||||||
|
return iter(self.__dict__.values())
|
||||||
|
|
||||||
|
@property
|
||||||
|
def items_(self):
|
||||||
|
return self.__dict__.items()
|
||||||
|
|
||||||
|
|
||||||
|
MEDIA_EXTENSIONS = Namespace(
|
||||||
|
common_video=('avi', 'flv', 'mkv', 'mov', 'mp4', 'webm'),
|
||||||
|
video=('3g2', '3gp', 'f4v', 'mk3d', 'divx', 'mpg', 'ogv', 'm4v', 'wmv'),
|
||||||
|
common_audio=('aiff', 'alac', 'flac', 'm4a', 'mka', 'mp3', 'ogg', 'opus', 'wav'),
|
||||||
|
audio=('aac', 'ape', 'asf', 'f4a', 'f4b', 'm4b', 'm4p', 'm4r', 'oga', 'ogx', 'spx', 'vorbis', 'wma', 'weba'),
|
||||||
|
thumbnails=('jpg', 'png', 'webp'),
|
||||||
|
# storyboards=('mhtml', ),
|
||||||
|
subtitles=('srt', 'vtt', 'ass', 'lrc', 'ttml'),
|
||||||
|
manifests=('f4f', 'f4m', 'm3u8', 'smil', 'mpd'),
|
||||||
|
)
|
||||||
|
MEDIA_EXTENSIONS.video = MEDIA_EXTENSIONS.common_video + MEDIA_EXTENSIONS.video
|
||||||
|
MEDIA_EXTENSIONS.audio = MEDIA_EXTENSIONS.common_audio + MEDIA_EXTENSIONS.audio
|
||||||
|
|
||||||
KNOWN_EXTENSIONS = (
|
KNOWN_EXTENSIONS = (
|
||||||
'mp4', 'm4a', 'm4p', 'm4b', 'm4r', 'm4v', 'aac',
|
MEDIA_EXTENSIONS.video + MEDIA_EXTENSIONS.audio
|
||||||
'flv', 'f4v', 'f4a', 'f4b',
|
+ MEDIA_EXTENSIONS.manifests
|
||||||
'webm', 'ogg', 'ogv', 'oga', 'ogx', 'spx', 'opus',
|
)
|
||||||
'mkv', 'mka', 'mk3d',
|
|
||||||
'avi', 'divx',
|
|
||||||
'mov',
|
|
||||||
'asf', 'wmv', 'wma',
|
|
||||||
'3gp', '3g2',
|
|
||||||
'mp3',
|
|
||||||
'flac',
|
|
||||||
'ape',
|
|
||||||
'wav',
|
|
||||||
'f4f', 'f4m', 'm3u8', 'smil')
|
|
||||||
|
|
||||||
# needed for sanitizing filenames in restricted mode
|
# needed for sanitizing filenames in restricted mode
|
||||||
ACCENT_CHARS = dict(zip('ÂÃÄÀÁÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖŐØŒÙÚÛÜŰÝÞßàáâãäåæçèéêëìíîïðñòóôõöőøœùúûüűýþÿ',
|
ACCENT_CHARS = dict(zip('ÂÃÄÀÁÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖŐØŒÙÚÛÜŰÝÞßàáâãäåæçèéêëìíîïðñòóôõöőøœùúûüűýþÿ',
|
||||||
|
|
Loading…
Reference in a new issue