X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;ds=sidebyside;f=youtube_dl%2Futils.py;h=9190a8fb85f7e9cc53c06c9699468502de486033;hb=c0292e8ab716ea48655a4d301b4ca34ddbe24250;hp=116eb3610d2fb4cc0edbb4491faebe29ff90afe0;hpb=d1b9c912a42de3b99ae73553d38fbfa50b8ebc52;p=youtube-dl diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 116eb3610..9190a8fb8 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -1245,7 +1245,10 @@ class HEADRequest(compat_urllib_request.Request): return "HEAD" -def int_or_none(v, scale=1, default=None): +def int_or_none(v, scale=1, default=None, get_attr=None): + if get_attr: + if v is not None: + v = getattr(v, get_attr, None) return default if v is None else (int(v) // scale) @@ -1406,3 +1409,14 @@ US_RATINGS = { def strip_jsonp(code): return re.sub(r'(?s)^[a-zA-Z_]+\s*\(\s*(.*)\);\s*?\s*$', r'\1', code) + + +def qualities(quality_ids): + """ Get a numeric quality value out of a list of possible values """ + def q(qid): + try: + return quality_ids.index(qid) + except ValueError: + return -1 + return q +