def getToken(token_type): params = { "action": "query", "meta": "tokens", "type": parameterMaker(token_type) } return session.get(params)["query"]["tokens"]
def getRevision(revids, param=["ids", "timestamp", "flags", "user"]): params = { "action": "query", "prop": "revisions", "revids": parameterMaker(revids), "rvprop": parameterMaker(param), "format": "json" } return session.get(params)
def getUserRights(user): params = { "action": "query", "list": "users", "ususers": user, "usprop": "groups" } query = session.get(params) if "groups" in query["query"]["users"][0]: return query["query"]["users"][0]["groups"] return False
def getText(title): params = { "action": "query", "prop": "revisions", "titles": title, "rvprop": "content" } query = session.get(params)["query"]["pages"] for pageid in query: if pageid == "-1": return False if "revisions" not in query[pageid]: return False return query[pageid]["revisions"][0]["*"] return False
def getSha1(revid): params = { "action": "query", "prop": "revisions", "revids": revid, "rvprop": "sha1", "format": "json" } query = session.get(params)["query"]["pages"] for pageid in query: if pageid == "-1": return False if "revisions" not in query[pageid]: return False return query[pageid]["revisions"][0]["sha1"] return False
def stabilized(title): params = { "action": "query", "prop": "flagged", "titles": title, "format": "json" } query = session.get(params) answer = query["query"]["pages"] for pageid in answer: if "flagged" in answer[pageid] and "protection_level" in answer[ pageid]["flagged"]: return True else: return False return False
def getAbuseFiler(user, timestamp, filters, param=[ "ids", "user", "title", "action", "result", "timestamp", "hidden", "revid" ]): params = { "action": "query", "list": "abuselog", "aflfilter": parameterMaker(filters), "aflprop": parameterMaker(param), "afluser": user, "afldir": "newer", "aflstart": timestamp, "format": "json" } return session.get(params)
def getPageHistory(title, **kwargs): params = { "action": "query", "prop": "revisions", "titles": title, "rvprop": "ids|timestamp|flags|comment|user" } for key, val in kwargs.items(): params[key] = val query = session.get(params)["query"]["pages"] for pageid in query: if pageid == "-1": return False if "revisions" not in query[pageid]: return False return query[pageid]["revisions"] return False
def reviewed(title): params = { "action": "query", "prop": "flagged", "titles": title, "format": "json" } query = session.get(params) answer = query["query"]["pages"] for pageid in answer: if ("flagged" in answer[pageid] and "stable_revid" in answer[pageid]["flagged"] and answer[pageid]["flagged"]["stable_revid"] != "" and answer[pageid]["flagged"]["stable_revid"] != None and type(answer[pageid]["flagged"]["stable_revid"]) is int): return True return False return False