Last active
May 25, 2019 18:45
-
-
Save Abbe98/67f6702478a4b556609cb186162a60a6 to your computer and use it in GitHub Desktop.
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 csv | |
import datetime | |
import requests | |
import pywikibot | |
site = pywikibot.Site('wikidata', 'wikidata') | |
repo = site.data_repository() | |
endpoint='https://sync.nm.delorean.se/objects?id=' | |
def today_as_WbTime(): | |
""" | |
Get todays date as a WbTime object. | |
@return: Todays date correctly formated | |
@rtype: pywikibot.WbTime | |
""" | |
today = datetime.date.today() | |
date = pywikibot.WbTime(year=today.year, | |
month=today.month, | |
day=today.day) | |
return date | |
def create_statement(item, iiif, source): | |
claim = pywikibot.Claim(repo, 'P6108') | |
claim.setTarget(iiif) | |
item.addClaim(claim, summary='Adding iiif manifest link') | |
ref_url = pywikibot.Claim(repo, 'P854') | |
ref_url.setTarget(source) | |
retrieved = pywikibot.Claim(repo, u'P813') | |
retrieved.setTarget(today_as_WbTime()) | |
claim.addSources([ref_url, retrieved], summary='Adding source to iiif mainfest link') | |
with open('query.csv') as csvfile: | |
spamreader = csv.reader(csvfile) | |
for row in spamreader: | |
url = endpoint + row[1] | |
print(url) | |
data = requests.get(url) | |
json_data = data.json() | |
if json_data['data'][0]['iiif']: | |
print(json_data['data'][0]['iiif']) | |
iiif = json_data['data'][0]['iiif'] + 'manifest.json' | |
item = pywikibot.ItemPage(repo, row[0][31:]) | |
item.get() | |
if 'P6108' not in item.claims: | |
create_statement(item, iiif, url) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment