From 25e41ff143a879565f9d193462cf3c502e278e13 Mon Sep 17 00:00:00 2001 From: "mb@mb" Date: Mon, 22 Oct 2018 18:15:25 +0200 Subject: [PATCH] added the wp10 api call to the script --- sandbox-score-revids.py | 78 +++++++++++++++++++++++++++-------------- 1 file changed, 51 insertions(+), 27 deletions(-) diff --git a/sandbox-score-revids.py b/sandbox-score-revids.py index 6074929..869d252 100644 --- a/sandbox-score-revids.py +++ b/sandbox-score-revids.py @@ -5,10 +5,20 @@ from sys import stdin, stderr, stdout from pprint import pprint import subprocess import mwclient +from datetime import datetime site = mwclient.Site('en.wikipedia.org') print(site) +previous_result = '' # keep track of changes, only print when there are new results (when the wikipage changed) + +timestamp = datetime.now().strftime('%Y-%m-%d_%H-%M-%S') +log = open('sandbox-score-revids.txt', 'a+') +log.write('''* * * * * * * * * * * * * * * * * * * * * * * * * * +Logging sandbox-score-revids.py {} + +* * * * * * * * * * * * * * * * * * * * * * * * * *'''.format(timestamp)) + while True: page = site.Pages['User:Trustinformationws/sandbox'] @@ -20,6 +30,7 @@ while True: # model = 'damaging' # model = 'goodfaith' model = 'goodfaith draftquality' + # model = 'wp10' cmd = "echo '{\"rev_id\": "+str(revid)+"}' | ores score_revisions https://ores.wikimedia.org enwiki "+model # print(cmd) @@ -32,46 +43,59 @@ while True: result = json.loads(output) # pprint(result) - if model == 'damaging': - true = result['score']['damaging']['score']['probability']['true'] - false = result['score']['damaging']['score']['probability']['false'] - x = '''\nLatest revid: {}. This edit is ... + if result != previous_result: + + if model == 'damaging': + true = result['score']['damaging']['score']['probability']['true'] + false = result['score']['damaging']['score']['probability']['false'] + x = '''\nLatest revid: {}. This edit is ... ... {} likely to be goodfaith, ... {} likely badfaith.'''.format(revid, true, false) - if model == 'draftquality': - ok = result['score']['draftquality']['score']['probability']['OK'] - vandalism = result['score']['draftquality']['score']['probability']['vandalism'] - spam = result['score']['draftquality']['score']['probability']['spam'] - attack = result['score']['draftquality']['score']['probability']['attack'] - x = '''\nLatest revid: {}. It is ... + if model == 'draftquality': + ok = result['score']['draftquality']['score']['probability']['OK'] + vandalism = result['score']['draftquality']['score']['probability']['vandalism'] + spam = result['score']['draftquality']['score']['probability']['spam'] + attack = result['score']['draftquality']['score']['probability']['attack'] + x = '''\nLatest revid: {}. It is ... ... {} likely to be OK, ... {} likely to be vandalism, ... {} likely to be spam, ... {} likely to be an attack.'''.format(revid, ok, vandalism, spam, attack) - if model == 'goodfaith': - true = result['score']['goodfaith']['score']['probability']['true'] - false = result['score']['goodfaith']['score']['probability']['false'] - x = '''\nLatest revid: {}. This edit is ... + if model == 'wp10': + pprint(result) + + if model == 'goodfaith': + true = result['score']['goodfaith']['score']['probability']['true'] + false = result['score']['goodfaith']['score']['probability']['false'] + x = '''\nLatest revid: {}. This edit is ... ... {} likely to be goodfaith, ... {} likely badfaith.'''.format(revid, true, false) - if model == 'goodfaith draftquality': - true = result['score']['goodfaith']['score']['probability']['true'] - false = result['score']['goodfaith']['score']['probability']['false'] - ok = result['score']['draftquality']['score']['probability']['OK'] - vandalism = result['score']['draftquality']['score']['probability']['vandalism'] - spam = result['score']['draftquality']['score']['probability']['spam'] - attack = result['score']['draftquality']['score']['probability']['attack'] - x = '''\nLatest revid: {}. It is ... + if model == 'goodfaith draftquality': + true = result['score']['goodfaith']['score']['probability']['true'] + false = result['score']['goodfaith']['score']['probability']['false'] + + ok = result['score']['draftquality']['score']['probability']['OK'] + vandalism = result['score']['draftquality']['score']['probability']['vandalism'] + spam = result['score']['draftquality']['score']['probability']['spam'] + attack = result['score']['draftquality']['score']['probability']['attack'] + x = '''\nLatest revid: {}. + The last edit is ... + ... {} likely to be goodfaith, + ... {} likely badfaith.\n + The article quality ... ... {} likely to be OK, ... {} likely to be vandalism, ... {} likely to be spam, - ... {} likely to be an attack.\n - ... {} likely to be goodfaith, - ... {} likely badfaith.'''.format(revid, ok, vandalism, spam, attack, true, false) + ... {} likely to be an attack.\n'''.format(revid, ok, vandalism, spam, attack, true, false) + + print(x) + log.write(x) + + previous_result = result - print(x) + time.sleep(10) - time.sleep(10) \ No newline at end of file +log.close()