code: def getmembers(self):
          '''
          Return the members of the archive as a list of RPMInfo objects. The
          list has the same order as the members in the archive.
          '''
          if self._members is None:
              self._members = _members = []
              g = self.data_file
              magic = g.read(2)
              while magic:
                  if magic == b'07':
                      magic += g.read(4)
                      member = RPMInfo._read(magic, g)
  
                      if member.name == 'TRAILER!!!':
                          break
  
                      if not member.isdir:
                          _members.append(member)
  
                  magic = g.read(2)
              return _members
          return self._memberf getmembers(self):
          '''
          Return the members of the archive as a list of RPMInfo objects. The
          list has the same order as the members in the archive.
          '''
          if self._members is None:
              self._members = _members = []
              g = self.data_file
              magic = g.read(2)
              while magic:
                  if magic == b'07':
                      magic += g.read(4)
                      member = RPMInfo._read(magic, g)
  
                      if member.name == 'TRAILER!!!':
                          break
  
                      if not member.isdir:
                          _members.append(member)
  
                  magic = g.read(2)
              return _members
          return self._members
docs: Return the members of the archive as a list of RPMInfo objects. The
          list has the same order as the members in the archive.