code: def get_keys_containing(search_string, input_dict, default=None, first_found=True):
      
      output = {}
      for k, v in iteritems(input_dict):
          if search_string in k and not callable(k):
              output[k] = v
  
      if first_found:
          try:
              output = output[next(iter(output))]
          except StopIteration:
              pass
      return output or default
docs: Searches a dictionary for all keys containing the search string (as long as the keys are not functions) and
          returns a filtered dictionary of only those keys
      
      :param search_string: str, string we are looking for
      :param input_dict: dict, dictionary to search through
      :param default: object, if we find nothing, return this as the default
      :param first_found: bool, return the first found key
      :return: dict, dictionary filled with any matching keys