Reduce repeated nested object access in galaxy.api.datatypes.

This commit is contained in:
John Chilton
2014-12-25 12:24:23 -05:00
parent a31a031b3b
commit 648067c932
+10 -5
View File
@@ -20,17 +20,18 @@ class DatatypesController( BaseAPIController ):
GET /api/datatypes
Return an object containing upload datatypes.
"""
datatypes_registry = self._datatypes_registry
extension_only = asbool( kwd.get( 'extension_only', True ) )
upload_only = asbool( kwd.get( 'upload_only', True ) )
try:
if extension_only:
if upload_only:
return trans.app.datatypes_registry.upload_file_formats
return datatypes_registry.upload_file_formats
else:
return [ ext for ext in trans.app.datatypes_registry.datatypes_by_extension ]
return [ ext for ext in datatypes_registry.datatypes_by_extension ]
else:
rval = []
for elem in trans.app.datatypes_registry.datatype_elems:
for elem in datatypes_registry.datatype_elems:
if not asbool(elem.get('display_in_upload')) and upload_only:
continue
keys = ['extension', 'description', 'description_url']
@@ -55,7 +56,7 @@ class DatatypesController( BaseAPIController ):
try:
ext_to_class_name = dict()
classes = []
for k, v in trans.app.datatypes_registry.datatypes_by_extension.iteritems():
for k, v in self._datatypes_registry.datatypes_by_extension.iteritems():
c = v.__class__
ext_to_class_name[k] = c.__module__ + "." + c.__name__
classes.append( c )
@@ -88,7 +89,7 @@ class DatatypesController( BaseAPIController ):
'''
try:
rval = []
for sniffer_elem in trans.app.datatypes_registry.sniffer_elems:
for sniffer_elem in self._datatypes_registry.sniffer_elems:
datatype = sniffer_elem.get( 'type' )
if datatype is not None:
rval.append( datatype )
@@ -99,3 +100,7 @@ class DatatypesController( BaseAPIController ):
raise exceptions.InternalServerError( str( exception ) )
else:
raise
@property
def _datatypes_registry( self ):
return self.app.datatypes_registry