docs: def read_until_prompt_or_pattern(self, pattern="", re_flags=0):
          """Read until either self.base_prompt or pattern is detected.
  
          :param pattern: the pattern used to identify that the output is complete (i.e. stop \
          reading when pattern is detected). pattern will be combined with self.base_prompt to \
          terminate output reading when the first of self.base_prompt or pattern is detected.
          :type pattern: regular expression string
  
          :param re_flags: regex flags used in conjunction with pattern to search for prompt \
          (defaults to no flags)
          :type re_flags: int
  
          """
          combined_pattern = re.escape(self.base_prompt)
          if pattern:
              combined_pattern = r"({}|{})".format(combined_pattern, pattern)
          return self._read_channel_expect(combined_pattern, re_flags=re_flags)