code: def get_program(self, n, timeout=2.0, max_retries=2):
          
          # Send the 'TPROG PROGn' command to read the program.
          response = self.driver.send_command( \
              'TPROG PROG' + str(int(n)), timeout=timeout, \
              immediate=True, max_retries=max_retries)
  
          # If there was an error, then return empty. Otherwise, return
          # the response lines but strip the leading '*' first and the
          # 'END' at the end of the list.
          if self.driver.command_error(response) \
                  or len(response[4]) == 0:
              return []
          else:
              if '*END' in response[4]:
                  response[4].remove('*END')
              return [line[1:] for line in response[4]]
docs: Get a program from the drive.
  
          Gets program 'n' from the drive and returns its commands.
  
          Parameters
          ----------
          n : int
              Which program to get.
          timeout : number, optional
              Optional timeout in seconds to use when reading the
              response. A negative value or ``None`` indicates that the
              an infinite timeout should be used.
          max_retries : int, optional
              Maximum number of retries to do per command in the case of
              errors.
  
          Returns
          -------
          commands : list of str
              ``list`` of ``str`` commands making up the program. The
              trailing 'END' is removed. Empty if there was an error.
  
          Notes
          -----
          The command sent to the drive is '!TPROG PROGn'.
  
          See Also
          --------
          set_program_profile : Sets a program or profile.
          run_program_profile : Runs a program or profile.