mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Handle exceptions attempting to open a README file contained in a tool shed repository.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user