code: def _get_site_info(self):
          
          response = self.wiki_request(
              {"meta": "siteinfo", "siprop": "extensions|general"}
          )
  
          # parse what we need out here!
          query = response.get("query", None)
          if query is None or query.get("general", None) is None:
              raise MediaWikiException("Missing query in response")
  
          gen = query.get("general", None)
  
          api_version = gen["generator"].split(" ")[1].split("-")[0]
  
          major_minor = api_version.split(".")
          for i, item in enumerate(major_minor):
              major_minor[i] = int(item)
          self._api_version = tuple(major_minor)
          self._api_version_str = ".".join([str(x) for x in self._api_version])
  
          # parse the base url out
          tmp = gen.get("server", "")
          if tmp == "":
              raise MediaWikiException("Unable to parse base url")
          if tmp.startswith("http://") or tmp.startswith("https://"):
              self._base_url = tmp
          elif gen["base"].startswith("https:"):
              self._base_url = "https:{}".format(tmp)
          else:
              self._base_url = "http:{}".format(tmp)
  
          self._extensions = [ext["name"] for ext in query["extensions"]]
          self._extensions = sorted(list(set(self._extensions)))
docs: Parse out the Wikimedia site information including
          API Version and Extensions