#NEWLINE# @ property #NEWLINE# def info( self ) : #NEWLINE# #INDENT# '\n        Prints information about the Dimensioned object, including the\n        number and type of objects contained within it and information\n        about its dimensions.\n        ' #NEWLINE# info_str = ( group . __class__ . __name__ + ( ' containing %d items of type %s\n' % ( len ( self . keys ( ) ) , type ( self . values ( ) [ 0 ] ) . __name__ ) ) ) #NEWLINE# info_str += ( ( '-' * ( len ( info_str ) - 1 ) ) + '\n\n' ) #NEWLINE# aliases = { v : k for ( k , v ) in self . _dim_aliases . items ( ) } #NEWLINE# for group in self . _dim_groups : #NEWLINE# #INDENT# dimensions = getattr ( self , group ) #NEWLINE# if dimensions : #NEWLINE# #INDENT# group = aliases [ group ] . split ( '_' ) [ 0 ] #NEWLINE# info_str += ( '%s Dimensions: \n' % group . capitalize ( ) ) #NEWLINE# #UNINDENT# for d in dimensions : #NEWLINE# #INDENT# ( dmin , dmax ) = self . range ( d . name ) #NEWLINE# if d . value_format : #NEWLINE# #INDENT# ( dmin , dmax ) = ( d . value_format ( dmin ) , d . value_format ( dmax ) ) #NEWLINE# #UNINDENT# info_str += ( '\t %s: %s...%s \n' % ( str ( d ) , dmin , dmax ) ) #NEWLINE# #UNINDENT# #UNINDENT# print ( info_str )