def RunMapForKinds(operation_key, kinds, job_name_template, handler_spec, reader_spec, writer_spec, mapper_params, mapreduce_params=None, queue_name=None, max_shard_count=None):
 jobs = []
 try:
  for kind in kinds:
   mapper_params['entity_kind'] = kind
   job_name = (job_name_template % {'kind': kind, 'namespace': mapper_params.get('namespace', '')})
   shard_count = GetShardCount(kind, max_shard_count)
   jobs.append(StartMap(operation_key, job_name, handler_spec, reader_spec, writer_spec, mapper_params, mapreduce_params, queue_name=queue_name, shard_count=shard_count))
  return jobs
 except BaseException as ex:
  AbortAdminOperation(operation_key, _status=DatastoreAdminOperation.STATUS_FAILED, _status_info=('%s: %s' % (ex.__class__.__name__, ex)))
  raise

def RunMapForKinds ( operation_key , kinds , job_name_template , handler_spec , reader_spec , writer_spec , mapper_params , mapreduce_params = None , queue_name = None , max_shard_count = None ) : jobs = [ ] try : for kind in kinds : mapper_params [ 'entity_kind' ] = kind job_name = ( job_name_template % { 'kind' : kind , 'namespace' : mapper_params . get ( 'namespace' , '' ) } ) shard_count = GetShardCount ( kind , max_shard_count ) jobs . append ( StartMap ( operation_key , job_name , handler_spec , reader_spec , writer_spec , mapper_params , mapreduce_params , queue_name = queue_name , shard_count = shard_count ) ) return jobs except BaseException as ex : AbortAdminOperation ( operation_key , _status = DatastoreAdminOperation . STATUS_FAILED , _status_info = ( '%s: %s' % ( ex . __class__ . __name__ , ex ) ) ) raise
run mapper job for all entities in specified kinds .