# -*- encoding: iso-8859-1 -*-

"""sucht die Einträge mit Konjunktiv- und Präsens- Infinitiv- 
Komparativ- und Superlativstamm
"""
	
import re, sys
sys.path.append("../")
import classEntry03

def printTxt(entryList):
	p = classEntry03.Entry(entryList)
	zDic = p.getZ()	
	if p.getRectyp() == "1" and zDic.has_key("Z6"):
			#überpruefe, ob durch binäre Addition eine 32 ( = Konjunktivstamm) vorkommt
			if not (int (zDic["Z6"][2])&32) == 0:
				k = open("../../../res/teilergebnisse/03wlKonjStem.txt", "a")	
				k.write("WL1: " + " ".join(p.getWl1()) + "\n")
				k.write("WL2: " + " ".join(p.getWl2()) + "\n")
				k.write("\n")
			#Infinitivstamm
			elif zDic["Z6"][2] == "1":
				i = open("../../../res/teilergebnisse/03wlInfStem.txt", "a")	
				i.write("WL1: " + " ".join(p.getWl1()) + "\n")
				i.write("WL2: " + " ".join(p.getWl2()) + "\n")
				i.write("\n")			
			# Präsensstamm
			elif zDic["Z6"][2] == "2":
				pr = open("../../../res/teilergebnisse/03wlPraesStem.txt", "a")	
				pr.write("WL1: " + " ".join(p.getWl1()) + "\n")
				pr.write("WL2: " + " ".join(p.getWl2()) + "\n")
				pr.write("\n")				
	if p.getRectyp() == "3" and zDic.has_key("Z2"):
		# Komparativstamm
		if zDic["Z2"][0] =="2" or zDic["Z2"][0] =="4":	
			kp = open("../../../res/teilergebnisse/03wlKompStem.txt", "a")	
			kp.write("WL1: " + " ".join(p.getWl1()) + "\n")
			kp.write("WL2: " + " ".join(p.getWl2()) + "\n")
			kp.write("\n")	
		# Superlativstamm
		elif zDic["Z2"][0] =="3":
			s = open("../../../res/teilergebnisse/03wlSuperlStem.txt", "a")	
			s.write("WL1: " + " ".join(p.getWl1()) + "\n")
			s.write("WL2: " + " ".join(p.getWl2()) + "\n")
			s.write("\n")	



if __name__ == "__main__":
	lexicon = open("../../../res/02WAT.txt")
	wholeEntry = []
	countEntry = 0
	line = lexicon.readline()
	while line:
		line = line.strip()
		if re.search("ID:", line):
			if wholeEntry and wholeEntry[0] is not "":
				countEntry += 1
				printTxt(wholeEntry)
			wholeEntry = []
		wholeEntry.append(line)
		line = lexicon.readline()
	printTxt(wholeEntry)
	print "Anzahl der Einträge: ", countEntry

