Handle exceptions attempting to open a README file contained in a tool shed repository.

This commit is contained in:
Greg Von Kuster
2012-10-24 13:42:01 -04:00
parent 2c7f2c7106
commit cf959cf8f5
2 changed files with 17 additions and 8 deletions
@@ -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 ):
@@ -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