docs: def prepare(self):
          """Check that the file exists, optionally downloads it.
          Checks that the file is indeed an SQLite3 database.
          Optionally check the MD5."""
          if not os.path.exists(self.path):
              if self.retrieve:
                  print("Downloading SQLite3 database...")
                  download_from_url(self.retrieve, self.path, progress=True)
              else: raise Exception("The file '" + self.path + "' does not exist.")
          self.check_format()
          if self.known_md5: assert self.known_md5 == self.md5
          self.prepared = True