allow posting single wiki articles

This commit is contained in:
neingeist 2025-06-12 13:40:22 +02:00
parent 92f95f67e6
commit b111a34804
2 changed files with 20 additions and 9 deletions

View file

@ -1,5 +1,6 @@
import os import os
import mwclient import mwclient
import click
import sys import sys
from tqdm import tqdm from tqdm import tqdm
@ -15,10 +16,20 @@ CATEGORY_TEMPLATE = "\n".join(
site = mwclient.Site(WIKI_HOST, path=WIKI_PATH) site = mwclient.Site(WIKI_HOST, path=WIKI_PATH)
site.login(WIKI_USERNAME, WIKI_PASSWORD) site.login(WIKI_USERNAME, WIKI_PASSWORD)
# Process and upload each .mediawiki file
for filename in tqdm(os.listdir(OUTDIR_MEDIAWIKI)): @click.command()
@click.argument('files', nargs=-1)
def post(files):
if files[0] == "all":
files = []
for filename in tqdm(os.listdir(OUTDIR_MEDIAWIKI)):
if filename.endswith(".mediawiki"): if filename.endswith(".mediawiki"):
filepath = os.path.join(OUTDIR_MEDIAWIKI, filename) filepath = os.path.join(OUTDIR_MEDIAWIKI, filename)
files.append(filepath)
for filepath in files:
filename = os.path.basename(filepath)
article_name = WIKI_ARTICLE_PREFIX + filename.replace(".mediawiki", "") article_name = WIKI_ARTICLE_PREFIX + filename.replace(".mediawiki", "")
with open(filepath, "r", encoding="utf-8") as f: with open(filepath, "r", encoding="utf-8") as f:
@ -29,4 +40,8 @@ for filename in tqdm(os.listdir(OUTDIR_MEDIAWIKI)):
# Post to MediaWiki # Post to MediaWiki
page = site.pages[article_name] page = site.pages[article_name]
page.save(final_content, summary="Automated upload of recipe page") page.save(final_content, summary="U+1F916 ROBOT FACE")
if __name__ == "__main__":
post()

View file

@ -7,7 +7,3 @@ python 0_get_recipes.py
python 1_clean_json.py python 1_clean_json.py
python 2_to_markdown.py python 2_to_markdown.py
python 3_to_mediawiki.py python 3_to_mediawiki.py
if [[ "$1" = "post" ]]; then
python 4_post_to_wiki.py
fi