make media_id an optional argument

This commit is contained in:
Rodney Ewing 2013-08-01 15:40:26 -07:00
parent 11a99d787f
commit 842ba30529

View File

@ -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 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 = []
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.'))
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 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'