2025-06-02 00:24:00 +02:00
|
|
|
import os
|
|
|
|
import mwclient
|
|
|
|
import sys
|
2025-06-02 01:38:40 +02:00
|
|
|
from tqdm import tqdm
|
2025-06-02 00:24:00 +02:00
|
|
|
|
|
|
|
from config import *
|
|
|
|
|
|
|
|
# Template strings
|
|
|
|
HIDDEN_COMMENT = '<!-- This page is auto-generated. Do not edit manually. -->'
|
|
|
|
CATEGORY_TEMPLATE = '\n'.join('[[Category:{0}]]'.format(cat) for cat in CATEGORY_LIST)
|
|
|
|
|
|
|
|
# Connect to MediaWiki
|
|
|
|
site = mwclient.Site(WIKI_HOST, path=WIKI_PATH)
|
|
|
|
site.login(USERNAME, PASSWORD)
|
|
|
|
|
|
|
|
# Process and upload each .mediawiki file
|
2025-06-02 01:38:40 +02:00
|
|
|
for filename in tqdm(os.listdir(DIRECTORY)):
|
2025-06-02 00:24:00 +02:00
|
|
|
if filename.endswith('.mediawiki'):
|
|
|
|
filepath = os.path.join(DIRECTORY, filename)
|
|
|
|
article_name = ARTICLE_PREFIX + filename.replace('.mediawiki', '')
|
|
|
|
|
|
|
|
with open(filepath, 'r', encoding='utf-8') as f:
|
|
|
|
content = f.read()
|
|
|
|
|
|
|
|
# Compose final content
|
|
|
|
final_content = f"{HIDDEN_COMMENT}\n\n{content}\n\n{CATEGORY_TEMPLATE}"
|
|
|
|
|
|
|
|
# Post to MediaWiki
|
|
|
|
page = site.pages[article_name]
|
|
|
|
page.save(final_content, summary='Automated upload of recipe page')
|