docs: def open_url(self, url, suffix='', dest=None):
          """
          Opens the given url, trying the compressed version first.
          The compressed version url is generated adding the ``.xz`` extension
          to the ``url`` and adding the given suffix **after** that ``.xz``
          extension.
          If dest passed, it will download the data to that path if able
  
          Args:
              url (str): relative url from the ``self.baseurl`` to retrieve
              suffix (str): optional suffix to append to the url after adding
                  the compressed extension to the path
              dest (str or None): Path to save the data to
  
          Returns:
              urllib.addinfourl: response object to read from (lazy read), closed
                  if no dest passed
  
          Raises:
              RuntimeError: if the url gave http error when retrieving it
          """
          if not url.endswith('.xz'):
              try:
                  return self.open_url(
                      url=url + '.xz',
                      suffix=suffix,
                      dest=dest,
                  )
              except RuntimeError:
                  pass
          full_url = posixpath.join(self.baseurl, url) + suffix
          response = urllib.urlopen(full_url)
          if response.code >= 300:
              raise RuntimeError(
                  'Failed no retrieve URL %s:\nCode: %d' %
                  (full_url, response.code)
              )
  
          meta = response.info()
          file_size_kb = int(meta.getheaders("Content-Length")[0]) / 1024
          if file_size_kb > 0:
              sys.stdout.write(
                  "Downloading %s Kilobytes from %s \n" %
                  (file_size_kb, full_url)
              )
  
          def report(count, block_size, total_size):
              percent = (count * block_size * 100 / float(total_size))
              sys.stdout.write(
                  "\r% 3.1f%%" % percent + " complete (%d " %
                  (count * block_size / 1024) + "Kilobytes)"
              )
              sys.stdout.flush()
  
          if dest:
              response.close()
              urllib.urlretrieve(full_url, dest, report)
              sys.stdout.write("\n")
          return response