Browse Source

[YoutubeDL] Do not require default output template to be set

master
Philipp Hagemeister 10 years ago
parent
commit
acd69589a5
4 changed files with 12 additions and 6 deletions
  1. 9
      youtube_dl/YoutubeDL.py
  2. 3
      youtube_dl/__init__.py
  3. 4
      youtube_dl/extractor/vine.py
  4. 2
      youtube_dl/utils.py

9
youtube_dl/YoutubeDL.py

@ -31,6 +31,7 @@ from .utils import (
ContentTooShortError,
date_from_str,
DateRange,
DEFAULT_OUTTMPL,
determine_ext,
DownloadError,
encodeFilename,
@ -440,7 +441,8 @@ class YoutubeDL(object):
if v is not None)
template_dict = collections.defaultdict(lambda: 'NA', template_dict)
tmpl = os.path.expanduser(self.params['outtmpl'])
outtmpl = self.params.get('outtmpl', DEFAULT_OUTTMPL)
tmpl = os.path.expanduser(outtmpl)
filename = tmpl % template_dict
return filename
except ValueError as err:
@ -1025,10 +1027,11 @@ class YoutubeDL(object):
def download(self, url_list):
"""Download a given list of URLs."""
outtmpl = self.params.get('outtmpl', DEFAULT_OUTTMPL)
if (len(url_list) > 1 and
'%' not in self>.params['outtmpl']
'%' not in outtmpl
and self.params.get('max_downloads') != 1):
raise SameFileError(self>.params['outtmpl'])
raise SameFileError(outtmpl)
for url in url_list:
try:

3
youtube_dl/__init__.py

@ -72,6 +72,7 @@ from .utils import (
compat_getpass,
compat_print,
DateRange,
DEFAULT_OUTTMPL,
decodeOption,
get_term_width,
DownloadError,
@ -705,7 +706,7 @@ def _real_main(argv=None):
or (opts.usetitle and u'%(title)s-%(id)s.%(ext)s')
or (opts.useid and u'%(id)s.%(ext)s')
or (opts.autonumber and u'%(autonumber)s-%(id)s.%(ext)s')
or u'%(title)s-%(id)s.%(ext)s')
or DEFAULT_OUTTMPL)
if not os.path.splitext(outtmpl)[1] and opts.extractaudio:
parser.error(u'Cannot download a video and extract audio into the same'
u' file! Use "{0}.%(ext)s" instead of "{0}" as the output'

4
youtube_dl/extractor/vine.py

@ -31,7 +31,7 @@ class VineIE(InfoExtractor):
data = json.loads(self._html_search_regex(
r'window\.POST_DATA = { %s: ({.+?}) }' % video_id, webpage, 'vine data'))
print(json.dumps(data, indent=2))
formats = [
{
'url': data['videoLowURL'],
@ -57,4 +57,4 @@ class VineIE(InfoExtractor):
'comment_count': data['comments']['count'],
'repost_count': data['reposts']['count'],
'formats': formats,
}
}

2
youtube_dl/utils.py

@ -1423,3 +1423,5 @@ def qualities(quality_ids):
return -1
return q
DEFAULT_OUTTMPL = '%(title)s-%(id)s.%(ext)s'
Loading…
Cancel
Save