aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/__init__.py
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2014-02-25 01:43:17 +0100
committerPhilipp Hagemeister <phihag@phihag.de>2014-02-25 01:43:17 +0100
commit62e609ab771140b185e98ed085445d40b751cbfc (patch)
tree9daee9760c5d77d8acc9bdef877ac8fbbeb07488 /youtube_dl/__init__.py
parentf6acbdecf483513166287a41cba5eed928404dc2 (diff)
Ignore BOM in batch files (Fixes #2450)
Diffstat (limited to 'youtube_dl/__init__.py')
-rw-r--r--youtube_dl/__init__.py13
1 files changed, 6 insertions, 7 deletions
diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py
index 84f29a1a5..2aaafd37a 100644
--- a/youtube_dl/__init__.py
+++ b/youtube_dl/__init__.py
@@ -71,6 +71,7 @@ from .utils import (
get_cachedir,
MaxDownloadsReached,
preferredencoding,
+ read_batch_urls,
SameFileError,
setproctitle,
std_headers,
@@ -552,21 +553,19 @@ def _real_main(argv=None):
sys.exit(0)
# Batch file verification
- batchurls = []
+ batch_urls = []
if opts.batchfile is not None:
try:
if opts.batchfile == '-':
batchfd = sys.stdin
else:
- batchfd = open(opts.batchfile, 'r')
- batchurls = batchfd.readlines()
- batchurls = [x.strip() for x in batchurls]
- batchurls = [x for x in batchurls if len(x) > 0 and not re.search(r'^[#/;]', x)]
+ batchfd = io.open(opts.batchfile, 'r', encoding='utf-8', errors='ignore')
+ batch_urls = read_batch_urls(batchfd)
if opts.verbose:
- write_string(u'[debug] Batch file urls: ' + repr(batchurls) + u'\n')
+ write_string(u'[debug] Batch file urls: ' + repr(batch_urls) + u'\n')
except IOError:
sys.exit(u'ERROR: batch file could not be read')
- all_urls = batchurls + args
+ all_urls = batch_urls + args
all_urls = [url.strip() for url in all_urls]
_enc = preferredencoding()
all_urls = [url.decode(_enc, 'ignore') if isinstance(url, bytes) else url for url in all_urls]