def update_collection(committer_id, collection_id, change_list, commit_message):
 is_public = rights_manager.is_collection_public(collection_id)
 if (is_public and (not commit_message)):
  raise ValueError('Collection is public so expected a commit message but received none.')
 collection = apply_change_list(collection_id, change_list)
 _save_collection(committer_id, collection, commit_message, change_list)
 update_collection_summary(collection.id, committer_id)
 if (not rights_manager.is_collection_private(collection.id)):
  user_services.update_first_contribution_msec_if_not_set(committer_id, utils.get_current_time_in_millisecs())

def update_collection ( committer_id , collection_id , change_list , commit_message ) : is_public = rights_manager . is_collection_public ( collection_id ) if ( is_public and ( not commit_message ) ) : raise ValueError ( 'Collection is public so expected a commit message but received none.' ) collection = apply_change_list ( collection_id , change_list ) _save_collection ( committer_id , collection , commit_message , change_list ) update_collection_summary ( collection . id , committer_id ) if ( not rights_manager . is_collection_private ( collection . id ) ) : user_services . update_first_contribution_msec_if_not_set ( committer_id , utils . get_current_time_in_millisecs ( ) )
updates a collection .