#!/usr/bin/env python3

# to script είναι στην ουσία επανάληψη του προηγούμενου μ ε τη μόνη διαφορά ότι
# ο χρήστης πρέπει να δώσει το κείμενο που αναζητεί ως παράμετρο στη γραμμή εντολής
# π.χ. cat elwiktionary-20071005-pages-meta-current.xml | ./bl-xml-check-sthing.py αλτρου >list_01

import sys, re

fin = sys.stdin

page_tag = re.compile('<page>')
title_tag = re.compile('<title>')
title_content = re.compile('<title>([^:]+):(.+)<\/title>')
title_capture = re.compile('<title>(.*)<\/title>')
redirect_text = re.compile('#REDIRECT',re.IGNORECASE)
page_tag_end = re.compile('<\/page>')
set_string = re.compile('set')
main_string = re.compile('main')
option1 = re.compile(r'^ *#')

eof=0

while not eof:
	line = fin.readline()
	if line == "":
		eof = 1
	elif page_tag.search(line):
		namespace=""
		title=""
		title_found="set"
		redirect=""
		res_num = 0
	elif title_tag.search(line):
		result = title_content.search(line)
		if result:
			namespace=result.group(1)
			title=result.group(2)
		else:
			result = title_capture.search(line)
			if result:
				namespace="main"
				title=result.group(1)
		if False:#option1.search(title):
			title_found="set"
	elif redirect_text.search(line):
		redirect="set"
	elif option1.search(line):
		title_found="set"
		res_num += 1
        
	elif page_tag_end.search(line):
		if set_string.search(title_found) and not set_string.search(redirect) and main_string.search(namespace):
			print(f'{title},{res_num}')

fin.close()

Ξεκινήστε μια συζήτηση για Χρήστης:Botaki/for focal point

Ξεκινήστε μια συζήτηση
Επιστροφή στη σελίδα χρήστη του "Botaki/for focal point".