parameters: (observable)
return_statement: return patterns
docstring: u'''
docstring_summary: u'''
docstring_tokens: u
function: def _get_search_items_in_observable(observable):
      u'''
      '''
  
      patterns = []
  
      if observable is None:
          return
  
      if observable.get_Observable_Composition() is not None:
          observable_composition = observable.get_Observable_Composition()
          observables = observable_composition.get_Observable()
          for obs in observables:
              patterns2 = _get_search_items_in_observable(obs)
              if patterns2 is not None:
                  patterns += patterns2
   
      else:
          obj = observable.get_Object()
          if obj is None or obj.get_Properties() is None:
              return
  
          properties = obj.get_Properties()
  
          if type(properties) == AddressObjectType:
              _set_search_items_from_address_object(patterns, properties)
  
          elif type(properties) == PortObjectType:
              _set_search_items_from_port_object(patterns, properties)
  
          elif type(properties) == HostnameObjectType:
              _set_search_items_from_hostname_object(patterns, properties)
  
          elif type(properties) == ProcessObjectType:
              _set_search_items_from_process_object(patterns, properties)
  
          elif type(properties) == FileObjectType:
              _set_search_items_from_file_object(patterns, properties)
  
          elif type(properties) == WindowsRegistryKeyObjectType:
              _set_search_items_from_win_registry_key_object(patterns, properties)
  
          elif type(properties) == SocketAddressObjectType:
              _set_search_items_from_socket_address_object(patterns, properties)
  
          elif type(properties) == NetworkConnectionObjectType:
              _set_search_items_from_network_connection_object(patterns, properties)
  
          elif type(properties) == URLHistoryObjectType:
              _set_search_items_from_url_history_object(patterns, properties)
  
      return patterns
function_tokens: def _get_search_items_in_observable ( observable ) : patterns = [ ] if observable is None : return if observable . get_Observable_Composition ( ) is not None : observable_composition = observable . get_Observable_Composition ( ) observables = observable_composition . get_Observable ( ) for obs in observables : patterns2 = _get_search_items_in_observable ( obs ) if patterns2 is not None : patterns += patterns2 else : obj = observable . get_Object ( ) if obj is None or obj . get_Properties ( ) is None : return properties = obj . get_Properties ( ) if type ( properties ) == AddressObjectType : _set_search_items_from_address_object ( patterns , properties ) elif type ( properties ) == PortObjectType : _set_search_items_from_port_object ( patterns , properties ) elif type ( properties ) == HostnameObjectType : _set_search_items_from_hostname_object ( patterns , properties ) elif type ( properties ) == ProcessObjectType : _set_search_items_from_process_object ( patterns , properties ) elif type ( properties ) == FileObjectType : _set_search_items_from_file_object ( patterns , properties ) elif type ( properties ) == WindowsRegistryKeyObjectType : _set_search_items_from_win_registry_key_object ( patterns , properties ) elif type ( properties ) == SocketAddressObjectType : _set_search_items_from_socket_address_object ( patterns , properties ) elif type ( properties ) == NetworkConnectionObjectType : _set_search_items_from_network_connection_object ( patterns , properties ) elif type ( properties ) == URLHistoryObjectType : _set_search_items_from_url_history_object ( patterns , properties ) return patterns