docs: def as_dict(self, cache=None, fetch=True):
          """Return torrent properties as a dictionary.
  
          Set the cache flag to False to disable the cache. On the other hand,
          set the fetch flag to False to avoid fetching data if it's not cached.
  
          """
          if not self._fetched and fetch:
              info = self.fetch(cache)
          elif self._use_cache(cache):
              info = self._attrs.copy()
          else:
              info = {}
          info.update(url=self.url)
          return info