#!/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()