X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Futils.py;h=a21455f707e5cb9dc51c1f5611963c5f58fc3863;hb=b871d7e954350ec8525540b9dd319541560bfef0;hp=af639a124a2a2edecfbcef93e6d0ec1d2eac3be6;hpb=befa4708fd2165b85d04002c3845adf191d34302;p=youtube-dl diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index af639a124..a21455f70 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -1689,6 +1689,28 @@ def parse_count(s): return lookup_unit_table(_UNIT_TABLE, s) +def parse_resolution(s): + if s is None: + return {} + + mobj = re.search(r'\b(?P\d+)\s*[xX×]\s*(?P\d+)\b', s) + if mobj: + return { + 'width': int(mobj.group('w')), + 'height': int(mobj.group('h')), + } + + mobj = re.search(r'\b(\d+)[pPiI]\b', s) + if mobj: + return {'height': int(mobj.group(1))} + + mobj = re.search(r'\b([48])[kK]\b', s) + if mobj: + return {'height': int(mobj.group(1)) * 540} + + return {} + + def month_by_name(name, lang='en'): """ Return the number of a month by (locale-independently) English name """