aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile12
-rw-r--r--README.md2
-rw-r--r--youtube_dl/FileDownloader.py8
-rw-r--r--youtube_dl/__init__.py5
-rw-r--r--youtube_dl/utils.py19
-rw-r--r--youtube_dl/version.py2
6 files changed, 31 insertions, 17 deletions
diff --git a/Makefile b/Makefile
index 84ea70d2c..e00f5e650 100644
--- a/Makefile
+++ b/Makefile
@@ -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)
diff --git a/README.md b/README.md
index a9eaed192..2f3c81a7c 100644
--- a/README.md
+++ b/README.md
@@ -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'