docs: def _get_line(self, search_string, search_file, return_string=True, case_sens=True):
          '''Return the first line containing a set of strings in a file.
  
          If return_string is False, we just return whether such a line
          was found. If case_sens is False, the search is case
          insensitive.
  
          '''
          if os.path.isfile(search_file):
              # if single search string
              if type(search_string) == type(''): search_string = [search_string]
              # if case insensitive, convert everything to lowercase
              if not case_sens: search_string = [i.lower() for i in search_string]
              with open(search_file) as fp:
                  # search for the strings line by line
                  for line in fp:
                      query_line = line if case_sens else line.lower()
                      if all([i in query_line for i in search_string]):
                          return line if return_string else True
                  if return_string:
                      raise Exception('%s not found in %s'%(' & '.join(search_string), search_file))
                  else: return False
          else: raise Exception('%s file does not exist'%search_file)