projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[xattr] Coding style
[youtube-dl]
/
youtube_dl
/
PostProcessor.py
diff --git
a/youtube_dl/PostProcessor.py
b/youtube_dl/PostProcessor.py
index da95f1a87dbe63fc648e061aa5671bb3dba1d740..617a17ba936e9b82cac00cec052de2519a496b08 100644
(file)
--- a/
youtube_dl/PostProcessor.py
+++ b/
youtube_dl/PostProcessor.py
@@
-10,6
+10,7
@@
from .utils import (
PostProcessingError,
shell_quote,
subtitles_filename,
PostProcessingError,
shell_quote,
subtitles_filename,
+ prepend_extension,
)
)
@@
-85,10
+86,10
@@
class FFmpegPostProcessor(PostProcessor):
files_cmd = []
for path in input_paths:
files_cmd = []
for path in input_paths:
- files_cmd.extend(['-i', encodeFilename(path)])
+ files_cmd.extend(['-i', encodeFilename(path
, True
)])
cmd = ([self._exes['avconv'] or self._exes['ffmpeg'], '-y'] + files_cmd
+ opts +
cmd = ([self._exes['avconv'] or self._exes['ffmpeg'], '-y'] + files_cmd
+ opts +
- [encodeFilename(self._ffmpeg_filename_argument(out_path))])
+ [encodeFilename(self._ffmpeg_filename_argument(out_path)
, True
)])
if self._downloader.params.get('verbose', False):
self._downloader.to_screen(u'[debug] ffmpeg command line: %s' % shell_quote(cmd))
if self._downloader.params.get('verbose', False):
self._downloader.to_screen(u'[debug] ffmpeg command line: %s' % shell_quote(cmd))
@@
-122,7
+123,10
@@
class FFmpegExtractAudioPP(FFmpegPostProcessor):
if not self._exes['ffprobe'] and not self._exes['avprobe']:
raise PostProcessingError(u'ffprobe or avprobe not found. Please install one.')
try:
if not self._exes['ffprobe'] and not self._exes['avprobe']:
raise PostProcessingError(u'ffprobe or avprobe not found. Please install one.')
try:
- cmd = [self._exes['avprobe'] or self._exes['ffprobe'], '-show_streams', encodeFilename(self._ffmpeg_filename_argument(path))]
+ cmd = [
+ self._exes['avprobe'] or self._exes['ffprobe'],
+ '-show_streams',
+ encodeFilename(self._ffmpeg_filename_argument(path), True)]
handle = subprocess.Popen(cmd, stderr=compat_subprocess_get_DEVNULL(), stdout=subprocess.PIPE)
output = handle.communicate()[0]
if handle.wait() != 0:
handle = subprocess.Popen(cmd, stderr=compat_subprocess_get_DEVNULL(), stdout=subprocess.PIPE)
output = handle.communicate()[0]
if handle.wait() != 0:
@@
-499,13
+503,11
@@
class FFmpegMetadataPP(FFmpegPostProcessor):
return True, info
filename = info['filepath']
return True, info
filename = info['filepath']
- ext = os.path.splitext(filename)[1][1:]
- temp_filename = filename + u'.temp'
+ temp_filename = prepend_extension(filename, 'temp')
options = ['-c', 'copy']
for (name, value) in metadata.items():
options.extend(['-metadata', '%s=%s' % (name, value)])
options = ['-c', 'copy']
for (name, value) in metadata.items():
options.extend(['-metadata', '%s=%s' % (name, value)])
- options.extend(['-f', ext])
self._downloader.to_screen(u'[ffmpeg] Adding metadata to \'%s\'' % filename)
self.run_ffmpeg(filename, temp_filename, options)
self._downloader.to_screen(u'[ffmpeg] Adding metadata to \'%s\'' % filename)
self.run_ffmpeg(filename, temp_filename, options)
@@
-514,6
+516,14
@@
class FFmpegMetadataPP(FFmpegPostProcessor):
return True, info
return True, info
+class FFmpegMergerPP(FFmpegPostProcessor):
+ def run(self, info):
+ filename = info['filepath']
+ args = ['-c', 'copy']
+ self.run_ffmpeg_multiple_files(info['__files_to_merge'], filename, args)
+ return True, info
+
+
class XAttrMetadataPP(PostProcessor):
#
class XAttrMetadataPP(PostProcessor):
#
@@
-593,9
+603,9
@@
class XAttrMetadataPP(PostProcessor):
assert(path.find(":") < 0)
assert(os.path.exists(path))
assert(path.find(":") < 0)
assert(os.path.exists(path))
- f = open(path+":"+key, "w")
- f.write(value)
-
f.close(
)
+ ads_fn = path + ":" + key
+ with open(ads_fn, "w") as f:
+
f.write(value
)
# Write the metadata to the file's xattrs
self._downloader.to_screen('[metadata] Writing metadata to file\'s xattrs...')
# Write the metadata to the file's xattrs
self._downloader.to_screen('[metadata] Writing metadata to file\'s xattrs...')
@@
-604,13
+614,13
@@
class XAttrMetadataPP(PostProcessor):
try:
xattr_mapping = {
try:
xattr_mapping = {
- 'user.xdg.referrer.url':
'webpage_url',
+ 'user.xdg.referrer.url': 'webpage_url',
# 'user.xdg.comment': 'description',
# 'user.xdg.comment': 'description',
- 'user.dublincore.title':
'title',
- 'user.dublincore.date':
'upload_date',
+ 'user.dublincore.title': 'title',
+ 'user.dublincore.date': 'upload_date',
'user.dublincore.description': 'description',
'user.dublincore.contributor': 'uploader',
'user.dublincore.description': 'description',
'user.dublincore.contributor': 'uploader',
- 'user.dublincore.format':
'format',
+ 'user.dublincore.format': 'format',
}
for xattrname, infoname in xattr_mapping.items():
}
for xattrname, infoname in xattr_mapping.items():