Created
April 25, 2018 09:04
-
-
Save stuppie/148b3ce132c6a51b7aa91c9ef3b34679 to your computer and use it in GitHub Desktop.
example bot adding an award recieved
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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