Skip to content

Instantly share code, notes, and snippets.

@stuppie
Created April 25, 2018 09:04
Show Gist options
  • Save stuppie/148b3ce132c6a51b7aa91c9ef3b34679 to your computer and use it in GitHub Desktop.
Save stuppie/148b3ce132c6a51b7aa91c9ef3b34679 to your computer and use it in GitHub Desktop.
example bot adding an award recieved
import argparse
import json
import os
import sys
import traceback
import urllib.request
from collections import defaultdict, Counter
from datetime import datetime
from itertools import chain
from time import gmtime, strftime, sleep
import requests
from tqdm import tqdm
from wikidataintegrator import wdi_core, wdi_helpers, wdi_login, wdi_property_store
from wikidataintegrator.ref_handlers import update_retrieved_if_new
from wikidataintegrator.wdi_helpers import id_mapper
try:
from local import WDUSER, WDPASS
except ImportError:
if "WDUSER" in os.environ and "WDPASS" in os.environ:
WDUSER = os.environ['WDUSER']
WDPASS = os.environ['WDPASS']
else:
raise ValueError("WDUSER and WDPASS must be specified in local.py or as environment variables")
login = wdi_login.WDLogin(WDUSER, WDPASS)
PROPS = {
'award received': 'P166',
'reference URL': 'P854',
'point in time': 'P585',
'stated in': 'P248'
}
ITEMS = {
'The Sjöberg Prize': 'Q31823324',
'Royal Swedish Academy of Sciences': 'Q191583'
}
# persons = ["Q21481858", "Q33103207"]
person_qid = "Q33103207"
def create_reference():
ref_url = "https://www.kva.se/en/pressroom/pressmeddelanden/sjobergpriset-2018"
stated_in = wdi_core.WDItemID(ITEMS['Royal Swedish Academy of Sciences'], PROPS['stated in'], is_reference=True)
ref_url_s = wdi_core.WDUrl(ref_url, PROPS['reference URL'], is_reference=True)
return [stated_in, ref_url_s]
d2018 = "+2018-01-01T00:00:00Z"
point_in_time = wdi_core.WDTime(d2018, PROPS['point in time'], precision=9, is_qualifier=True)
award_recieved_statement = wdi_core.WDItemID(ITEMS['The Sjöberg Prize'], PROPS['award received'],
references=[create_reference()],
qualifiers=[point_in_time])
item = wdi_core.WDItemEngine(wd_item_id=person_qid, data=[award_recieved_statement])
item.write(login)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment