diff options
Diffstat (limited to 'youtube_dl/utils.py')
| -rw-r--r-- | youtube_dl/utils.py | 11 | 
1 files changed, 10 insertions, 1 deletions
| diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 8095400d0..53977cd2a 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -192,6 +192,13 @@ try:  except ImportError:  # Python 2.6      from xml.parsers.expat import ExpatError as compat_xml_parse_error +try: +    from shlex import quote as shlex_quote +except ImportError:  # Python < 3.3 +    def shlex_quote(s): +        return "'" + s.replace("'", "'\"'\"'") + "'" + +  def compat_ord(c):      if type(c) is int: return c      else: return ord(c) @@ -1331,7 +1338,7 @@ def parse_duration(s):          return None      m = re.match( -        r'(?:(?:(?P<hours>[0-9]+)[:h])?(?P<mins>[0-9]+)[:m])?(?P<secs>[0-9]+)s?(?::[0-9]+)?$', s) +        r'(?:(?:(?P<hours>[0-9]+)[:h])?(?P<mins>[0-9]+)[:m])?(?P<secs>[0-9]+)s?(?::[0-9]+)?(?P<ms>\.[0-9]+)?$', s)      if not m:          return None      res = int(m.group('secs')) @@ -1339,6 +1346,8 @@ def parse_duration(s):          res += int(m.group('mins')) * 60          if m.group('hours'):              res += int(m.group('hours')) * 60 * 60 +    if m.group('ms'): +        res += float(m.group('ms'))      return res | 
