From 842ba30529040fb47ac9905df6373d7c1f0286ed Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 1 Aug 2013 15:40:26 -0700 Subject: [PATCH] make media_id an optional argument --- mediagoblin/gmg_commands/reprocess.py | 82 ++++++++++++++------------- 1 file changed, 42 insertions(+), 40 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 60df697f..f3445ea6 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -32,37 +32,38 @@ def reprocess_parser_setup(subparser): '--type', '-t', help="The type of media to be reprocessed such as 'video' or 'image'") subparser.add_argument( - 'media_id', + '--media_id', nargs='*', help="The media_entry id(s) you wish to reprocess.") def _set_media_type(args): - if len(args[0].media_id) == 1: - media_type = MediaEntry.query.filter_by(id=args[0].media_id[0])\ - .first().media_type.split('.')[-1] - - if not args[0].type: - args[0].type = media_type - elif args[0].type != media_type: - raise Exception(_('The --type that you set does not match the type' - ' of the given media_id.')) - elif len(args[0].media_id) > 1: - media_types = [] - - for id in args[0].media_id: - media_types.append(MediaEntry.query.filter_by(id=id).first() - .media_type.split('.')[-1]) - for type in media_types: - if media_types[0] != type: - raise Exception((u'You cannot reprocess different media_types' - ' at the same time.')) - - if not args[0].type: - args[0].type = media_types[0] - elif args[0].type != media_types[0]: - raise Exception(_('The --type that you set does not match the type' - ' of the given media_ids.')) + if args[0].media_id: + if len(args[0].media_id) == 1: + media_type = MediaEntry.query.filter_by(id=args[0].media_id[0])\ + .first().media_type.split('.')[-1] + + if not args[0].type: + args[0].type = media_type + elif args[0].type != media_type: + raise Exception(_('The --type that you set does not match the type' + ' of the given media_id.')) + elif len(args[0].media_id) > 1: + media_types = [] + + for id in args[0].media_id: + media_types.append(MediaEntry.query.filter_by(id=id).first() + .media_type.split('.')[-1]) + for type in media_types: + if media_types[0] != type: + raise Exception((u'You cannot reprocess different media_types' + ' at the same time.')) + + if not args[0].type: + args[0].type = media_types[0] + elif args[0].type != media_types[0]: + raise Exception(_('The --type that you set does not match the type' + ' of the given media_ids.')) def _reprocess_all(args): @@ -99,24 +100,25 @@ def _run_reprocessing(args): def _set_media_state(args): - if len(args[0].media_id) == 1: - args[0].state = MediaEntry.query.filter_by(id=args[0].media_id[0])\ - .first().state + if args[0].media_id: + if len(args[0].media_id) == 1: + args[0].state = MediaEntry.query.filter_by(id=args[0].media_id[0])\ + .first().state - elif len(args[0].media_id) > 1: - media_states = [] + elif len(args[0].media_id) > 1: + media_states = [] - for id in args[0].media_id: - media_states.append(MediaEntry.query.filter_by(id=id).first() - .state) - for state in media_states: - if state != media_states[0]: - raise Exception(_('You can only reprocess media that is in the' - ' same state.')) + for id in args[0].media_id: + media_states.append(MediaEntry.query.filter_by(id=id).first() + .state) + for state in media_states: + if state != media_states[0]: + raise Exception(_('You can only reprocess media that is in the' + ' same state.')) - args[0].state = media_states[0] + args[0].state = media_states[0] - elif not args[0].state: + if not args[0].state: args[0].state = 'processed' -- 2.25.1