diff --git a/lib/galaxy/webapps/community/controllers/repository.py b/lib/galaxy/webapps/community/controllers/repository.py index b1de9372550..b61e8e88b18 100644 --- a/lib/galaxy/webapps/community/controllers/repository.py +++ b/lib/galaxy/webapps/community/controllers/repository.py @@ -1333,10 +1333,14 @@ class RepositoryController( BaseUIController, ItemRatings ): repository_metadata = get_repository_metadata_by_changeset_revision( trans, trans.security.encode_id( repository.id ), changeset_revision ) metadata = repository_metadata.metadata if metadata and 'readme' in metadata: - f = open( metadata[ 'readme' ], 'r' ) - text = f.read() - f.close() - return str( text ) + try: + f = open( metadata[ 'readme' ], 'r' ) + text = f.read() + f.close() + return str( text ) + except Exception, e: + log.debug( "Error attempting to read README file '%s' defined in metadata for repository '%s', revision '%s': %s" % \ + ( str( metadata[ 'readme' ] ), str( repository_name ), str( changeset_revision ), str( e ) ) ) return '' @web.expose def get_tool_dependencies( self, trans, **kwd ): diff --git a/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py b/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py index 5d79de1379c..85e660a5fd8 100644 --- a/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py +++ b/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py @@ -1764,10 +1764,15 @@ class AdminToolshed( AdminGalaxy ): readme_filename = metadata[ 'readme' ] if tool_path: readme_filename = os.path.join( tool_path, readme_filename ) - f = open( readme_filename, 'r' ) - raw_text = f.read() - f.close() - readme_text = translate_string( raw_text, to_html=True ) + try: + f = open( readme_filename, 'r' ) + raw_text = f.read() + f.close() + readme_text = translate_string( raw_text, to_html=True ) + except Exception, e: + log.debug( "Error attempting to read README file '%s' defined in metadata for repository '%s', revision '%s': %s" % \ + ( str( readme_filename ), str( repository.name ), str( repository.changeset_revision ), str( e ) ) ) + readme_text = '' else: readme_text = '' is_malicious = False