Implement copy_original and _keep_best
_keep_best is changed to keep_best now, and is added in processing_cleanup. webm is added to ACCEPTED_RESOLUTIONS.
This commit is contained in:
parent
7fc550cf2b
commit
bd0b36be79
@ -198,6 +198,10 @@ def processing_cleanup(entry_id):
|
|||||||
print "\nEntered processing_cleanup()\n"
|
print "\nEntered processing_cleanup()\n"
|
||||||
entry, manager = get_entry_and_processing_manager(entry_id)
|
entry, manager = get_entry_and_processing_manager(entry_id)
|
||||||
with CommonVideoProcessor(manager, entry) as processor:
|
with CommonVideoProcessor(manager, entry) as processor:
|
||||||
|
# no need to specify a resolution here
|
||||||
|
processor.common_setup()
|
||||||
|
processor.copy_original()
|
||||||
|
processor.keep_best()
|
||||||
processor.delete_queue_file()
|
processor.delete_queue_file()
|
||||||
print "\nDeleted queue_file\n"
|
print "\nDeleted queue_file\n"
|
||||||
|
|
||||||
@ -235,13 +239,36 @@ class CommonVideoProcessor(MediaProcessor):
|
|||||||
|
|
||||||
def copy_original(self):
|
def copy_original(self):
|
||||||
# If we didn't transcode, then we need to keep the original
|
# If we didn't transcode, then we need to keep the original
|
||||||
raise NotImplementedError
|
self.did_transcode = False
|
||||||
|
for each_res in self.video_config['available_resolutions']:
|
||||||
|
if ('webm_' + str(each_res)) in self.entry.media_files:
|
||||||
|
print "here == 1.1"
|
||||||
|
self.did_transcode = True
|
||||||
|
break
|
||||||
|
if not self.did_transcode or \
|
||||||
|
(self.video_config['keep_original'] and self.did_transcode):
|
||||||
|
copy_original(
|
||||||
|
self.entry, self.process_filename,
|
||||||
|
self.name_builder.fill('{basename}{ext}'))
|
||||||
|
|
||||||
def _keep_best(self):
|
def keep_best(self):
|
||||||
"""
|
"""
|
||||||
If there is no original, keep the best file that we have
|
If there is no original, keep the best file that we have
|
||||||
"""
|
"""
|
||||||
raise NotImplementedError
|
best_file = None
|
||||||
|
best_file_dim = (0, 0)
|
||||||
|
for each_res in self.video_config['available_resolutions']:
|
||||||
|
curr_dim = ACCEPTED_RESOLUTIONS[each_res]
|
||||||
|
if curr_dim[0] >= best_file_dim[0] and curr_dim[1] >= best_file_dim[1]:
|
||||||
|
best_file = each_res
|
||||||
|
best_file_dim = curr_dim
|
||||||
|
if not self.entry.media_files.get('best_quality'):
|
||||||
|
# Save the best quality file if no original?
|
||||||
|
if not self.entry.media_files.get('original') and \
|
||||||
|
self.entry.media_files.get(str(best_file)):
|
||||||
|
self.entry.media_files['best_quality'] = self.entry \
|
||||||
|
.media_files[str(best_file)]
|
||||||
|
|
||||||
|
|
||||||
def _skip_processing(self, keyname, **kwargs):
|
def _skip_processing(self, keyname, **kwargs):
|
||||||
file_metadata = self.entry.get_file_metadata(keyname)
|
file_metadata = self.entry.get_file_metadata(keyname)
|
||||||
|
@ -19,12 +19,13 @@ import logging
|
|||||||
from mediagoblin import mg_globals as mgg
|
from mediagoblin import mg_globals as mgg
|
||||||
|
|
||||||
ACCEPTED_RESOLUTIONS = {
|
ACCEPTED_RESOLUTIONS = {
|
||||||
'144p' : (256, 144),
|
'144p': (256, 144),
|
||||||
'240p' : (352, 240),
|
'240p': (352, 240),
|
||||||
'360p' : (480, 360),
|
'360p': (480, 360),
|
||||||
'480p' : (858, 480),
|
'480p': (858, 480),
|
||||||
'720p' : (1280, 720),
|
'720p': (1280, 720),
|
||||||
'1080p' : (1920, 1080),
|
'1080p': (1920, 1080),
|
||||||
|
'webm': (640, 640),
|
||||||
}
|
}
|
||||||
|
|
||||||
_log = logging.getLogger(__name__)
|
_log = logging.getLogger(__name__)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user