code: def recursive_dictionary_get(keys, dictionary):
      
      if "." in keys and len(keys) > 1:
          key = keys.split(".", 1)
          new_dict = dictionary.get(key[0])
          # Make sure that the next level actually has a dict we can continue the search from.
          if not new_dict or not hasattr(new_dict, "get"):
              return None
          return recursive_dictionary_get(key[1], new_dict)
      else:
          return dictionary.get(keys) if (dictionary and hasattr(dictionary, "get")) else None
docs: Gets contents of requirement key recursively so users can search
      for specific keys inside nested requirement dicts.
  
      :param keys: key or dot separated string of keys to look for.
      :param dictionary: Dictionary to search from
      :return: results of search or None