User:Flubot/pagefromfile/σταχτής

From Wiktionary, the free dictionary
Jump to navigation Jump to search

generateforms3.py[edit]

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys, re
reload(sys)
sys.setdefaultencoding('utf8')

fin = sys.stdin

ch_apo = u'γγ γχ γξ αύω αύο αύε αυγ αυδ αυλ αυμ αυν αυρ αύγ αύδ αύζ αύλ αύμ αύν αύρ αυ αύ ευη ευή ευα ευά εύω εύε ευό ευο ευί ευβ ευγ ευδ ευζ ευλ ευμ ευν ευρ εύβ εύγ εύδ εύζ εύλ εύμ εύν εύρ ευ εύ ϊ α ά β γ δ ε έ ζ η ή θ ι ί κ λ μ ν ξ ου ού ο π ρ σ ς τ υ ύ ϋ φ χ ψ ω ώ ΐ ΰ'
ch_se =  u'ng nch nx ávo ávo áve avg avd avl avm avn avr ávg ávd ávz ávl ávm ávn ávr af áφ evi eví eva evá évo éve evó evo eví ev evg evd evz evl evm evn evr év évg évd évz évl évm évn évr ef éf ï a á v g d e é z i í th i í k l m n x ou οú o p r s s t y ý ÿ f ch ps o ó ḯ ÿ́'

trapo = ch_apo.split(u' ')
trse = ch_se.split(u' ')

kl_apo = u'ς ά ό ί ή έ ώ ύ ϊ ϋ ΐ ΰ'
kl_se =  u'σ α ο ι η ε ω υ ι υ ι υ'

klapo = kl_apo.split(u' ')
klse = kl_se.split(u' ')

masc = 'ής'
katalixeis = 'ιού ή ιοί ιών ιούς ιά ιάς ιές ί'
ktlx = katalixeis.split(u' ')
hme = len(ktlx)

riza = re.compile(u'(.*)')
eof=0

s = [[' ' for l1 in range(6)] for l2 in range(hme)]
n = []
# ιού
s[0][0]='|g=m|c=gen|n=s}}'
s[0][1]='|g=n|c=gen|n=s}}'
n.append(2)
# ή
s[1][0]='|g=m|c=acc|n=s}}'
s[1][1]='|g=m|c=voc|n=s}}'
n.append(2)
# ιοί
s[2][0]='|g=m|c=nom|n=p}}'
s[2][1]='|g=m|c=voc|n=p}}'
n.append(2)
# ιών
s[3][0]='|g=m|c=gen|n=p}}'
s[3][1]='|g=f|c=gen|n=p}}'
s[3][2]='|g=n|c=gen|n=p}}'
n.append(3)
# ιούς
s[4][0]='|g=m|c=acc|n=p}}'
n.append(1)
# ιά
s[5][0]='|g=f|c=nom|n=s}}'
s[5][1]='|g=f|c=acc|n=s}}'
s[5][2]='|g=f|c=voc|n=s}}'
s[5][3]='|g=n|c=nom|n=p}}'
s[5][4]='|g=n|c=acc|n=p}}'
s[5][5]='|g=n|c=voc|n=p}}'
n.append(6)
# ιάς
s[6][0]='|g=f|c=gen|n=s}}'
n.append(1)
# ιές
s[7][0]='|g=f|c=nom|n=p}}'
s[7][1]='|g=f|c=acc|n=p}}'
s[7][2]='|g=f|c=voc|n=p}}'
n.append(3)
# ί
s[8][0]='|g=n|c=nom|n=s}}'
s[8][1]='|g=n|c=acc|n=s}}'
s[8][2]='|g=n|c=voc|n=s}}'
n.append(3)


def roman(trnsl):
  for i in range(len(trapo)):
        trnsl = trnsl.replace(trapo[i], trse[i])
  return trnsl

def sortkey(sort):
  for i in range(len(klapo)):
        sort = sort.replace(klapo[i], klse[i])
  return sort

def makeentries(ri):
  l = [ ]
  for i in range(hme):
	l.append(ri+ktlx[i])
	print "xxxx"
	print "'''%s'''" % (l[i])
	print "==Greek==\n\n===Adjective==="
	print "{{el-adj-form|%s}}\n" % (roman(l[i]))
	for j in range(n[i]):
		print "# {{el-form-of-nounadj|%s%s%s" % (ri,masc,s[i][j])
	print "\n{{DEFAULTSORT:%s}}\n" % (sortkey(l[i]))
	print "{{count page|[[Wiktionary:Page count]]}}\nyyyy"
  return 1

while not eof:
    line = fin.readline()
    if line == "":
	eof = 1
    else:
	r0 = riza.search(line)
	r1 = r0.group(1)
	if r1 != "":
	   makeentries(r1)
fin.close()