#NEWLINE# def filter_all( self , cells , filter_properties ) : #NEWLINE# #INDENT# 'Override filter_all() which operates on the full list\n        of cells...\n        ' #NEWLINE# request_spec = filter_properties . get ( 'request_spec' , { #NEWLINE# #INDENT# #NEWLINE# #UNINDENT# } ) #NEWLINE# image_properties = request_spec . get ( 'image' , { #NEWLINE# #INDENT# #NEWLINE# #UNINDENT# } ) . get ( 'properties' , { #NEWLINE# #INDENT# #NEWLINE# #UNINDENT# } ) #NEWLINE# hypervisor_version_requires = image_properties . get ( 'hypervisor_version_requires' ) #NEWLINE# if ( hypervisor_version_requires is None ) : #NEWLINE# #INDENT# return cells #NEWLINE# #UNINDENT# filtered_cells = [ ] #NEWLINE# for cell in cells : #NEWLINE# #INDENT# version = cell . capabilities . get ( 'prominent_hypervisor_version' ) #NEWLINE# if version : #NEWLINE# #INDENT# l = list ( version ) #NEWLINE# version = str ( l [ 0 ] ) #NEWLINE# #UNINDENT# if ( ( not version ) or self . _matches_version ( version , hypervisor_version_requires ) ) : #NEWLINE# #INDENT# filtered_cells . append ( cell ) #NEWLINE# #UNINDENT# #UNINDENT# return filtered_cells