code: def _get_files(self, attrs=None):
          
          try:
              # Get info for all files
              f_multicall = self._engine._rpc.f.multicall
              f_params = [self._fields["hash"], 0,
                  "f.path=", "f.size_bytes=", "f.last_touched=",
                  "f.priority=", "f.is_created=", "f.is_open=",
              ]
              for attr in (attrs or []):
                  f_params.append("f.%s=" % attr)
              rpc_result = f_multicall(*tuple(f_params))
          except xmlrpc.ERRORS as exc:
              raise error.EngineError("While %s torrent #%s: %s" % (
                  "getting files for", self._fields["hash"], exc))
          else:
              #self._engine.LOG.debug("files result: %r" % rpc_result)
  
              # Return results
              result = [Bunch(
                  path=i[0], size=i[1], mtime=i[2] / 1000000.0,
                  prio=i[3], created=i[4], opened=i[5],
              ) for i in rpc_result]
  
              if attrs:
                  for idx, attr in enumerate(attrs):
                      if attr.startswith("get_"):
                          attr = attr[4:]
                      for item, rpc_item in zip(result, rpc_result):
                          item[attr] = rpc_item[6+idx]
  
              return result
docs: Get a list of all files in this download; each entry has the
              attributes C{path} (relative to root), C{size} (in bytes),
              C{mtime}, C{prio} (0=off, 1=normal, 2=high), C{created},
              and C{opened}.
  
              This is UNCACHED, use C{fetch("files")} instead.
  
              @param attrs: Optional list of additional attributes to fetch.