Page MenuHomePhabricator
Paste P30583

update.py - Example to reproduce T309070
ActivePublic

Authored by Deniz_WMDE on Jun 28 2022, 2:13 PM.
from pprint import pprint
import json
import mwapi
import time
import json
import sys
## example script to reproduce https://phabricator.wikimedia.org/T309070
#
# It continously updates the description of the entity provided with a current timestamp
#
# usage: python ./update.py Q1
url = 'http://debug.wbaas.localhost'
user_agent = 'DEBUG-T309070'
login_name = ''
login_password = ''
####
session = mwapi.Session(url,
user_agent=user_agent)
login_token = session.get(action='query',
meta='tokens',
type='login')['query']['tokens']['logintoken']
session.post(action='login',
lgname=login_name,
lgpassword=login_password,
lgtoken=login_token)
csrf_token = session.get(action='query',
meta='tokens')['query']['tokens']['csrftoken']
while True:
pprint(time.strftime("%Y-%m-%d - %H:%M:%S"))
response = session.post(action='wbeditentity',
data=json.dumps({
#'labels': {
#'en': { 'language': 'en', 'value': 'I am label! ' + str(time.time()) },
#},
'descriptions': {
'en': { 'language': 'en', 'value': 'I am a description! current time: ' + str(time.time()) },
},
}),
id=sys.argv[1],
#new="item",
token=csrf_token)
pprint(response)
pprint('--------------------------')