import pywikibot
import re
from pywikibot import pagegenerators as pg
import time
import sys

geborenCLAIM   = u'P569'
geborenlocatieCLAIM = u'P19'
geolocatieCLAIM = u'P625'
geslachtCLAIM   = u'P21'
gestorvenCLAIM = u'P570'
nationaliteitCLAIM = u'P27'
overlijdenlocatieCLAIM = u'P20'

mysite = pywikibot.Site('nl', 'wikipedia')
wdsite = pywikibot.Site("wikidata", "wikidata")
repo = wdsite.data_repository()

gen = mysite.allpages( prefix='Barthelemi Guichar', 
                       namespace=0, filterredir=False,
                       total=None, content=False)
for page in gen:
        atitle = page.title()
        item = pywikibot.ItemPage.fromPage(page)
        print (item)
        print (type(item))
        if item != None:
                alink = item.title()         
                ageboortelocatie = '*'
                asterflocatie = 'nog niet geprogrammeerd'

                ARevision = page.oldest_revision
                aaangemaaktop   = u'{}-{:02}-{:02}'.format( ARevision.timestamp.year, ARevision.timestamp.month, ARevision.timestamp.day)
                aaangemaaktdoor = ARevision.user
                ARevision = page.latest_revision
                alaatstebewerkingop   = u'{}-{:02}-{:02}'.format( ARevision.timestamp.year, ARevision.timestamp.month, ARevision.timestamp.day)
                alaatstebewerkingdoor = ARevision.user
                try:
                    aomschrijving   = item.descriptions['nl']
                except:
                    aomschrijving   = '<geen description>'
                aland           = '<natio>'
                aberoep         = '<beroep>'
                aambt           = '<ambt>'
                aadellijketitel = '<adeltitel>'
                ageboortedatum  = 'gebdat'
                if (geborenCLAIM in item.claims):
                    geboortedatum  = item.claims.get(geborenCLAIM)[0].getTarget()
                    print(geboortedatum)
                    print (type(geboortedatum))
                    print(geboortedatum.after)
                    for x in dir(geboortedatum):
                        print(x)
                    husbandclaim=item.claims.get(geborenCLAIM)[0]
                    print(husbandclaim.qualifiers)
                    for qualifier in husbandclaim.qualifiers:
                        print('Q: %s' % qualifier)    
                    if ('P1480' in husbandclaim.qualifiers):
                        print('Ja, zit erin')
                        print (type(husbandclaim))
                        qualifier=husbandclaim.qualifiers['P1480'][0]
                        print('QQ: %s-%s\n\n' % (type(qualifier),qualifier))
                        content=qualifier.getTarget()
#                        print('\nContent: %s'% dir(content))
                        print('\n\nResult: %s' % (content.text))    
                        print('\n\nResult: %s' % (content.labels["nl"]))    
#                    print (geboortedatum.qualifiers)
#                    kwal = geboortedatum.get("P1480")[0].getTarget()
#                    print(geboortedatum)

                asterfdatum  = 'sterfdat'
                row = [atitle, alink, aomschrijving, aland, aberoep, aambt, aadellijketitel, ageboortedatum, ageboortelocatie, asterfdatum, asterflocatie, aaangemaaktop, aaangemaaktdoor, alaatstebewerkingop, alaatstebewerkingdoor]
                print (row)
[[wikidata:Q60171437]]
<class 'pywikibot.page.ItemPage'>
{
    "after": 0,
    "before": 0,
    "calendarmodel": "http://www.wikidata.org/entity/Q1985786",
    "precision": 9,
    "time": "+00000001400-00-00T00:00:00Z",
    "timezone": 0
}
<class 'pywikibot.WbTime'>
0
FORMATSTR
PRECISION
__class__
__delattr__
__dict__
__dir__
__doc__
__eq__
__format__
__ge__
__getattribute__
__gt__
__hash__
__init__
__init_subclass__
__le__
__lt__
__module__
__ne__
__new__
__reduce__
__reduce_ex__
__repr__
__setattr__
__sizeof__
__str__
__subclasshook__
__weakref__
_items
after
before
calendarmodel
day
fromTimestamp
fromTimestr
fromWikibase
hour
minute
month
precision
second
timezone
toTimestamp
toTimestr
toWikibase
year
OrderedDict([('P1480', [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'snaktype': 'value', 'property': 'P1480', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 5727902}, 'type': 'wikibase-entityid'}, 'hash': 'cb40f2027a88b8d23735681aaccba1069a574f54'})])])
Q: P1480
Ja, zit erin
<class 'pywikibot.page.Claim'>
QQ: <class 'pywikibot.page.Claim'>-Claim.fromJSON(DataSite("wikidata", "wikidata"), {'snaktype': 'value', 'property': 'P1480', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 5727902}, 'type': 'wikibase-entityid'}, 'hash': 'cb40f2027a88b8d23735681aaccba1069a574f54'})




Result: {'aliases': {'pt': ['Ca.', 'C.'], 'sk': ['Cirka', 'Cca'], 'eu': ['Ca.', 'Cca.', 'C.'], 'fr': ['vers', 'autour de', 'aux environs de', 'environ', 'ca', 'cca', 'ca.', 'cca.', 'c.'], 'es': ['cerca de', 'valor aproximado', 'ca.', 'c.', 'alrededor'], 'fi': ['suunnilleen', 'arviolta', 'suurinpiirtein', 'n.'], 'la': ['Ca.'], 'nn': ['sirka', 'ca.', 'omkring', 'omtrent', 'om lag', 'nesten'], 'ja': ['サーカ', 'キルカ', '約', 'およそ', '大体', '概ね', '頃', '近く', '付近', '周辺'], 'cs': ['circa', 'cca', 'ca', 'asi', 'přibližně', 'kolem', 'okolo', 'přibližná hodnota'], 'br': ['Wd', 'C.'], 'ur': ['Circa'], 'ar': ['سركا', 'سرك'], 'en': ['ca.', 'circ.', 'cca.', 'approximately', 'approximate value', 'around', 'about', 'c.', 'c', 'Approx.'], 'ca': ['ca.', 'c.'], 'sv': ['ca', 'c:a', 'ca.'], 'pl': ['przybliżona wartość', 'w pobliżu', 'circa'], 'scn': ['in circa', 'incirca', 'in tornu a', 'intornu a'], 'de': ['zirka', 'ungefähr', 'ca.', 'etwa', 'in etwa', 'näherungsweise', 'um', 'rund'], 'ru': ['Circa', 'ca', 'ок.'], 'sl': ['okoli', 'ok.', 'circa', 'cca'], 'nb': ['ca.'], 'cy': ['circa'], 'pt-br': ['c.', 'ca.', 'cerca', 'cerca de', 'aproximedamente', 'em torno de', 'por volta de', 'valor aproximado'], 'sr': ['около', 'цирка'], 'nl': ['ongeveer', 'ca.', 'rond', 'ca'], 'mk': ['цирка'], 'el': ['circa', 'περ.'], 'et': ['ca', 'ligikaudu'], 'uk': ['бл.', 'прибл.', 'приблизно', 'апроксимативно'], 'hu': ['kb.', 'megközelítőleg', 'hozzávetőlegesen', 'körül', 'tájékán'], 'he': ['בערך', 'בסביבות'], 'en-ca': ['c.'], 'en-gb': ['c.'], 'ro': ['cca', 'aproximativ', 'aprox', 'cam'], 'ba': ['яҡынса'], 'tg': ['тақр.'], 'hy': ['մոտ.'], 'zh': ['大约为'], 'bn': ['আনু.'], 'tr': ['y.', 'yakl.', 'yklş.'], 'vi': ['xấp xỉ', 'ca.', 'c.', 'circa'], 'da': ['ca.']}, 'labels': {'ht': 'Alantou', 'zh-hans': 'Circa', 'zh-hant': 'Circa', 'zh-hk': 'Circa', 'pt': 'circa', 'sk': 'Circa', 'eu': 'Circa', 'fr': 'circa', 'en': 'circa', 'es': 'circa', 'af': 'Circa', 'mk': 'околу', 'fi': 'noin', 'gl': 'Circa', 'la': 'Circa', 'id': 'Ca.', 'nn': 'cirka', 'ja': 'circa', 'cs': 'cirka', 'br': 'Circa', 'ur': 'تقریباً', 'ar': 'حوالي', 'zh': 'Circa', 'nl': 'circa', 'ca': 'circa', 'el': 'περίπου', 'de': 'circa', 'tr': 'yaklaşık', 'pa': 'ਅੰਦਾਜ਼ਨ', 'he': 'Circa', 'sv': 'cirka', 'ru': 'около', 'be': 'каля', 'pl': 'około', 'sl': 'približno', 'it': 'circa', 'scn': 'circa', 'ast': 'Circa', 'nb': 'circa', 'hu': 'körülbelül', 'ko': 'circa', 'cy': 'tua', 'da': 'cirka', 'pt-br': 'circa', 'sr': 'отприлике', 'en-gb': 'circa', 'vi': 'khoảng', 'sd': 'تقريباََ', 'et': 'umbes', 'uk': 'близько', 'ka': 'დაახლოებით', 'en-ca': 'circa', 'ro': 'circa', 'bg': 'около', 'ba': 'тирәһе', 'tg': 'тақрибан', 'hy': 'մոտավորապես', 'myv': 'малав', 'eo': 'ĉirkaŭ', 'lb': 'circa', 'bn': 'আনুমানিক', 'azb': 'شابلون:Circa', 'ml': 'സിർക', 'nan': 'Circa'}, 'descriptions': {'en': 'approximately – should be used with qualifier P1480 to indicate the source specified a value and explicitly stated that value is approximate, but specify no precision information. For example, "born around 1709"', 'ca': 'al voltant de', 'ru': 'флаг, указывающий, что источник указал на приблизительность значения, но не указал точные возможные границы значения', 'pl': 'wyrażenie używane do określenia czegoś przybliżonego. na przykład "urodzony około 1908 roku"', 'es': 'cerca de, abreviación que denota incertidumbre', 'sl': 'npr. "rojen približno leta 1709" ali " umrl blizu Berlina"', 'ja': 'この情報源では、この情報がおよその精度であることが述べられている。例: 「1709年頃誕生」「ベルリン付近で没」', 'scn': "qualificaturi ca riggistra lu fattu chi la fonti di n'affirmazzioni spicìfica un valuri approssimatu", 'de': 'ungefähr – sollte mit Qualifikator P1480 "Qualifikator für Behauptung" verwendet werden, um auszudrücken, dass die Quelle eine Angabe als ungefähr bezeichnet, aber ohne die Präzision anzugeben. Zum Beispiel "geboren um 1709"', 'it': 'approssimatamente – da utilizzare con il qualificatore P1480 per indicare che il valore è stata indicato dalla fonte esplicitamente con valore approssimato (esempio "nato attorno al 1709")', 'fr': 'approximativement – à utiliser avec le qualificatif P1480', 'hu': 'a P1480 minősítő értékeként használandó, amikor a forrás kifejezetten körülbelüli értékre utal, pl. „1709 körül született”', 'da': 'omkring', 'pt-br': 'aproximadamente - deve ser usado com qualificador P1480 para indicar a fonte específica e explicitamente atribuído como aproximado, mas especificamente uma informação imprecisa. Por exemplo, "nasceu por volta de 1709"', 'cs': 'přibližně – mělo by se používat s vymezením P1480 pro vyznačení, že u uváděné hodnoty zdroj výslovně píše, že je hodnota přibližná, aniž by uvedl informace o přesnosti. Například „narozen kolem roku 1709“.', 'fi': 'suunnilleen – käytetään yhdessä tarkenteen P1480 kanssa, jolla ilmaistaan, että lähteen mukaan arvo on summittainen eikä tarkempaa tietoa ole tarjolla. Esimerkiksi "syntynyt n. 1709"', 'ro': 'aproximativ; de utilizat cu calificatorul P1480 pentru a indica o valoare aproximativă, de exemplu „născut în cca 1709”', 'zh': '拉丁语“大约”——应与限定符P1480一起使用,以表明指定某个值的来源,并明确陈述其值为近似值,但未指定精确度信息。例如“在1709年前后出生”', 'nl': 'ongeveer - dient om aan te geven dat het niet om een exacte datering gaat', 'uk': 'приблизно – треба використовувати з кваліфікатором P1480', 'tr': 'yaklaşık - belirtilen bir değerin söz konusu tarihe yakın olduğunu belirtmek için kullanılır ve P1480 ile birlikte kullanılmalıdır ve kesin bilginin bulunmadığı zamanlarda belirtilir.', 'vi': 'vị trí xấp xỉ – nên được dùng với từ khu biệt P1480 để chỉ ra cách nguồn ghi lại một giá trị và nói rõ rằng giá trị này chỉ mang tính xấp xỉ, và không có thông tin chính xác. Ví dụ, "sinh khoảng 1709"', 'he': 'בקירוב'}, 'claims': {'P646': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P646', 'datatype': 'external-id', 'datavalue': {'value': '/m/02nt8b', 'type': 'string'}}, 'type': 'statement', 'id': 'Q5727902$765445BA-93CD-456A-B97A-A41F4FE5ED15', 'rank': 'normal', 'references': [{'snaks': {'P248': [{'snaktype': 'value', 'property': 'P248', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 15241312}, 'type': 'wikibase-entityid'}}], 'P577': [{'snaktype': 'value', 'property': 'P577', 'datatype': 'time', 'datavalue': {'value': {'time': '+00000002013-10-28T00:00:00Z', 'precision': 11, 'after': 0, 'before': 0, 'timezone': 0, 'calendarmodel': 'http://www.wikidata.org/entity/Q1985727'}, 'type': 'time'}}]}, 'snaks-order': ['P248', 'P577'], 'hash': '2b00cb481cddcac7623114367489b5c194901c4a'}]})], 'P31': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P31', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 1969448}, 'type': 'wikibase-entityid'}}, 'type': 'statement', 'id': 'Q5727902$BD24AF51-0493-45E6-9E8A-855735DD529A', 'rank': 'normal'}), Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P31', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 19798642}, 'type': 'wikibase-entityid'}}, 'type': 'statement', 'id': 'Q5727902$7d1cd088-42cf-938b-cfaf-2cd1375d8ce7', 'rank': 'normal', 'qualifiers': {'P642': [{'snaktype': 'value', 'property': 'P642', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 15720608}, 'type': 'wikibase-entityid'}, 'hash': 'a25fb89b9c4f393292f1b2aedd5355973799065e'}]}, 'qualifiers-order': ['P642']})], 'P935': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P935', 'datatype': 'string', 'datavalue': {'value': 'Circa', 'type': 'string'}}, 'type': 'statement', 'id': 'Q5727902$ED0234BC-F5DA-4234-A14E-6FCC14084F3B', 'rank': 'normal'})], 'P1269': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P1269', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 205892}, 'type': 'wikibase-entityid'}}, 'type': 'statement', 'id': 'Q5727902$cc6b3e2d-465c-bbeb-a183-4fbfd0647564', 'rank': 'normal'})], 'P1889': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P1889', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 21818619}, 'type': 'wikibase-entityid'}}, 'type': 'statement', 'id': 'Q5727902$99b379c2-4ca6-f4fb-e40c-5c0b84aaba9d', 'rank': 'normal'})], 'P4342': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P4342', 'datatype': 'external-id', 'datavalue': {'value': 'cirka', 'type': 'string'}}, 'type': 'statement', 'id': 'Q5727902$CDD5F84E-F54A-47DE-AFA2-70525218D547', 'rank': 'normal', 'qualifiers': {'P4390': [{'snaktype': 'value', 'property': 'P4390', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 39893449}, 'type': 'wikibase-entityid'}, 'hash': '1a4df62914ea9afca349bd5fb5d8efd5832d83fa'}]}, 'qualifiers-order': ['P4390']})]}, 'sitelinks': {'afwiki': 'Circa', 'arwiki': 'حوالي', 'astwiki': 'Circa', 'brwiki': 'Circa', 'cawiki': 'Circa', 'commonswiki': 'Circa', 'cswiki': 'Cirka', 'elwiki': 'Circa', 'enwiki': 'Circa', 'eswiki': 'Circa', 'euwiki': 'Circa', 'frwiki': 'Circa', 'glwiki': 'Circa', 'hewiki': 'Circa', 'htwiki': 'Alantou', 'idwiki': 'Circa', 'jawiki': 'Circa', 'lawiki': 'Circa', 'mkwiki': 'Цирка', 'mlwiki': 'സിർക', 'nnwiki': 'Cirka', 'nowiki': 'Cirka', 'pawiki': 'ਅੰਦਾਜ਼ਨ', 'ptwiki': 'Circa', 'ruwiki': 'Circa', 'sdwiki': 'تقريباََ (تاريخ)', 'simplewiki': 'Circa', 'skwiki': 'Circa', 'slwiki': 'Circa', 'trwiki': 'Circa', 'ukwiki': 'Circa', 'urwiki': 'تقریباً (تاریخ)', 'viwiki': 'Circa', 'zh_min_nanwiki': 'Circa', 'zhwiki': 'Circa'}}


Result: circa
['Barthelemi Guichard', 'Q60171437', 'Bisschop van Orange', '<natio>', '<beroep>', '<ambt>', '<adeltitel>', 'gebdat', '*', 'sterfdat', 'nog niet geprogrammeerd', '2018-12-26', 'Philemonbaucis', '2018-12-26', 'Philemonbaucis']