コード例 #1
0
ファイル: yapi.py プロジェクト: Acidburn0zzz/stabilizerbot
 def getToken(token_type):
     params = {
         "action": "query",
         "meta": "tokens",
         "type": parameterMaker(token_type)
     }
     return session.get(params)["query"]["tokens"]
コード例 #2
0
ファイル: yapi.py プロジェクト: Acidburn0zzz/stabilizerbot
    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)
コード例 #3
0
ファイル: yapi.py プロジェクト: Acidburn0zzz/stabilizerbot
    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
コード例 #4
0
ファイル: yapi.py プロジェクト: Acidburn0zzz/stabilizerbot
    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
コード例 #5
0
    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
コード例 #6
0
ファイル: yapi.py プロジェクト: Acidburn0zzz/stabilizerbot
    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
コード例 #7
0
ファイル: yapi.py プロジェクト: Acidburn0zzz/stabilizerbot
    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)
コード例 #8
0
ファイル: yapi.py プロジェクト: Acidburn0zzz/stabilizerbot
    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
コード例 #9
0
ファイル: yapi.py プロジェクト: Acidburn0zzz/stabilizerbot
    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