You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.1 KiB
Python
70 lines
2.1 KiB
Python
import os, json
|
|
from mwclient import Site
|
|
from pprint import pprint
|
|
from functions import update_json
|
|
|
|
site = Site(host='hub.xpub.nl/sandbox', path='/itchwiki/')
|
|
wd = os.path.dirname(os.path.abspath(__file__)) # working directory
|
|
|
|
imgdir = os.path.join(wd, 'images')
|
|
os.makedirs(imgdir, exist_ok=True) # create images/ dir
|
|
|
|
imgsjson_fn = os.path.join(wd, 'images.json')
|
|
|
|
|
|
|
|
with open(os.path.join(wd, 'login.txt'), 'r') as login: # read login user & pwd
|
|
loginlines = login.read()
|
|
user, pwd = loginlines.split('\n')
|
|
site.login(username=user, password=pwd) # login to wiki
|
|
|
|
with open(imgsjson_fn, 'r') as imgsjson_file:
|
|
images_info = json.load(imgsjson_file)
|
|
|
|
img_info = images_info["File:CCF 003017.jpg"]
|
|
|
|
print(img_info)
|
|
page_name = img_info['name']
|
|
page = site.pages[page_name]
|
|
print(page)
|
|
pprint(page.__dict__)
|
|
print(dir(page))
|
|
text = page.text()
|
|
used_in = list(page.imageusage())
|
|
print(text, used_in)
|
|
# response = site.api(action='browsebysubject', subject=page_name)
|
|
# for q in response['query']['data']:
|
|
# print(q['property'], q['dataitem'])
|
|
# print(q)
|
|
# print('result:', response['query']['data'][0]['item'])
|
|
# print('keys', response['query'].keys())
|
|
|
|
response = site.ask(query='[[Date::+]]|?Date', title=page_name)
|
|
print(response)
|
|
# import pdb; pdb.set_trace()
|
|
for r in response:
|
|
print('response', r)
|
|
for title, data in r.items():
|
|
print(data)
|
|
# import pdb; pdb.set_trace()
|
|
print(type(data))
|
|
if type(data) not in [str, int]:
|
|
for k, item in data.items():
|
|
print('item', k, item[k])
|
|
for subitem in data.items():
|
|
print('subitem', subitem, )
|
|
# for k, v in data['printouts']:
|
|
# print(k,v)
|
|
# action=smwbrowse&browse=page¶ms={ "limit": 10, "offset": 0, "search": "Main", "fullText": true, "fullURL": true }
|
|
# for page in site.pages(page_name):
|
|
# print(page)
|
|
|
|
|
|
#
|
|
# for img_key, img_info in images_info.items():
|
|
# if n < 4:
|
|
# print(img_info)
|
|
# page_name = img_info['name']
|
|
# page = site.pages(page_name)
|
|
# print(page)
|
|
# print('\n') |