def _update_project(config, task_presenter, results,<EOL>long_description, tutorial):
try:<EOL><INDENT>project = find_project_by_short_name(config.project['<STR_LIT>'],<EOL>config.pbclient,<EOL>config.all)<EOL>project.name = config.project['<STR_LIT:name>']<EOL>project.short_name = config.project['<STR_LIT>']<EOL>project.description = config.project['<STR_LIT:description>']<EOL>with open(long_description, '<STR_LIT:r>') as f:<EOL><INDENT>project.long_description = f.read()<EOL><DEDENT>with open(task_presenter, '<STR_LIT:r>') as f:<EOL><INDENT>project.info['<STR_LIT>'] = f.read()<EOL><DEDENT>_update_task_presenter_bundle_js(project)<EOL>with open(results, '<STR_LIT:r>') as f:<EOL><INDENT>project.info['<STR_LIT>'] = f.read()<EOL><DEDENT>with open(tutorial, '<STR_LIT:r>') as f:<EOL><INDENT>project.info['<STR_LIT>'] = f.read()<EOL><DEDENT>response = config.pbclient.update_project(project)<EOL>check_api_error(response)<EOL>return ("<STR_LIT>" % config.project['<STR_LIT>'])<EOL><DEDENT>except exceptions.ConnectionError:<EOL><INDENT>return ("<STR_LIT>" % config.server)<EOL><DEDENT>except ProjectNotFound:<EOL><INDENT>return ("<STR_LIT>""<STR_LIT>"% config.project['<STR_LIT>'])<EOL><DEDENT>except TaskNotFound:<EOL><INDENT>raise<EOL><DEDENT>
Update a project.