Колдонуучу:KETC Parser for WikiMediaExport
Category Appending
def tokenize_pages(tree, output_image_dir, page_tag="page", title_tag="title", text_wrapper_tag="text"):
body = tree.find("body")
if body is None:
return tree
children = list(body)
new_body_elements = []
current_page = None
current_revision = None
current_text = None
current_title_str = ""
# Prompt the user ONCE for the whole document before looping through pages
global_category = prompt_for_global_wiki_category()
current_timestamp_str = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
def finalize_current_page():
nonlocal current_page, current_revision, current_text, current_title_str
if current_page is not None:
if current_text is not None and len(current_text) > 0:
assign_captions_to_images(current_text)
replace_images_with_medi
==
Бөлүмдүн аталышы
==
awiki_syntax(current_text, current_title_str, output_image_dir)
inner_html_string = "".join(
html.tostring(child, encoding="unicode", method="html")
for child in current_text
)
cleaned_html_string = process_hyphenations(inner_html_string)
# Append the global category if the user entered one
if global_category:
cleaned_html_string += global_category
current_text.clear()
fragment = html.fragment_fromstring(cleaned_html_string, create_parent="div")
for child in list(fragment):
current_text.append(child)
current_revision.append(current_text)
new_body_elements.append(current_page)
# ... rest of your loop structure remains identical