diff options
| -rw-r--r-- | Makefile | 12 | ||||
| -rw-r--r-- | README.md | 2 | ||||
| -rw-r--r-- | youtube_dl/FileDownloader.py | 8 | ||||
| -rw-r--r-- | youtube_dl/__init__.py | 5 | ||||
| -rw-r--r-- | youtube_dl/utils.py | 19 | ||||
| -rw-r--r-- | youtube_dl/version.py | 2 | 
6 files changed, 31 insertions, 17 deletions
| @@ -9,9 +9,19 @@ cleanall: clean  PREFIX=/usr/local  BINDIR=$(PREFIX)/bin  MANDIR=$(PREFIX)/man -SYSCONFDIR=/etc  PYTHON=/usr/bin/env python +# set SYSCONFDIR to /etc if PREFIX=/usr or PREFIX=/usr/local +ifeq ($(PREFIX),/usr) +    SYSCONFDIR=/etc +else +    ifeq ($(PREFIX),/usr/local) +        SYSCONFDIR=/etc +    else +        SYSCONFDIR=$(PREFIX)/etc +    endif +endif +  install: youtube-dl youtube-dl.1 youtube-dl.bash-completion  	install -d $(DESTDIR)$(BINDIR)  	install -m 755 youtube-dl $(DESTDIR)$(BINDIR) @@ -116,7 +116,7 @@ which means you can modify it, redistribute it or use it however you like.      -F, --list-formats         list all available formats (currently youtube                                 only)      --write-sub                write subtitle file (currently youtube only) -    --only-sub                 downloads only the subtitles (no video) +    --only-sub                 [deprecated] alias of --skip-download      --all-subs                 downloads all the available subtitles of the                                 video (currently youtube only)      --list-subs                lists all available subtitles for the video diff --git a/youtube_dl/FileDownloader.py b/youtube_dl/FileDownloader.py index eb68d9478..8a3bdf21b 100644 --- a/youtube_dl/FileDownloader.py +++ b/youtube_dl/FileDownloader.py @@ -83,7 +83,6 @@ class FileDownloader(object):      writeinfojson:     Write the video description to a .info.json file      writethumbnail:    Write the thumbnail image to a file      writesubtitles:    Write the video subtitles to a file -    onlysubtitles:     Downloads only the subtitles of the video      allsubtitles:      Downloads all the subtitles of the video      listsubtitles:     Lists all available subtitles for the video      subtitlesformat:   Subtitle format [sbv/srt] (default=srt) @@ -93,6 +92,7 @@ class FileDownloader(object):      min_filesize:      Skip files smaller than this size      max_filesize:      Skip files larger than this size      daterange:         A DateRange object, download only if the upload_date is in the range. +    skip_download:     Skip the actual download of the video file      """      params = None @@ -597,7 +597,7 @@ class FileDownloader(object):          try:              dn = os.path.dirname(encodeFilename(filename)) -            if dn != '' and not os.path.exists(dn): # dn is already encoded +            if dn != '' and not os.path.exists(dn):                  os.makedirs(dn)          except (OSError, IOError) as err:              self.report_error(u'unable to create directory ' + compat_str(err)) @@ -630,8 +630,6 @@ class FileDownloader(object):                  except (OSError, IOError):                      self.report_error(u'Cannot write subtitles file ' + descfn)                      return -            if self.params.get('onlysubtitles', False): -                return           if self.params.get('allsubtitles', False) and 'subtitles' in info_dict and info_dict['subtitles']:              subtitles = info_dict['subtitles'] @@ -649,8 +647,6 @@ class FileDownloader(object):                      except (OSError, IOError):                          self.report_error(u'Cannot write subtitles file ' + descfn)                          return -            if self.params.get('onlysubtitles', False): -                return           if self.params.get('writeinfojson', False):              infofn = filename + u'.info.json' diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py index 80f3b9f33..308c48fe6 100644 --- a/youtube_dl/__init__.py +++ b/youtube_dl/__init__.py @@ -191,8 +191,8 @@ def parseOpts(overrideArguments=None):              action='store_true', dest='writesubtitles',              help='write subtitle file (currently youtube only)', default=False)      video_format.add_option('--only-sub', -            action='store_true', dest='onlysubtitles', -            help='downloads only the subtitles (no video)', default=False) +            action='store_true', dest='skip_download', +            help='[deprecated] alias of --skip-download', default=False)      video_format.add_option('--all-subs',              action='store_true', dest='allsubtitles',              help='downloads all the available subtitles of the video (currently youtube only)', default=False) @@ -532,7 +532,6 @@ def _real_main(argv=None):          'writeinfojson': opts.writeinfojson,          'writethumbnail': opts.writethumbnail,          'writesubtitles': opts.writesubtitles, -        'onlysubtitles': opts.onlysubtitles,          'allsubtitles': opts.allsubtitles,          'listsubtitles': opts.listsubtitles,          'subtitlesformat': opts.subtitlesformat, diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index f2342b10a..616948e10 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -1,6 +1,7 @@  #!/usr/bin/env python  # -*- coding: utf-8 -*- +import errno  import gzip  import io  import json @@ -334,12 +335,20 @@ def sanitize_open(filename, open_mode):          stream = open(encodeFilename(filename), open_mode)          return (stream, filename)      except (IOError, OSError) as err: -        # In case of error, try to remove win32 forbidden chars -        filename = re.sub(u'[/<>:"\\|\\\\?\\*]', u'#', filename) +        if err.errno in (errno.EACCES,): +            raise -        # An exception here should be caught in the caller -        stream = open(encodeFilename(filename), open_mode) -        return (stream, filename) +        # In case of error, try to remove win32 forbidden chars +        alt_filename = os.path.join( +                        re.sub(u'[/<>:"\\|\\\\?\\*]', u'#', path_part) +                        for path_part in os.path.split(filename) +                       ) +        if alt_filename == filename: +            raise +        else: +            # An exception here should be caught in the caller +            stream = open(encodeFilename(filename), open_mode) +            return (stream, alt_filename)  def timeconvert(timestr): diff --git a/youtube_dl/version.py b/youtube_dl/version.py index ae9688e17..dbc928394 100644 --- a/youtube_dl/version.py +++ b/youtube_dl/version.py @@ -1,2 +1,2 @@ -__version__ = '2013.05.10' +__version__ = '2013.05.14' | 
