User:Flubot/pagefromfile/ευγενής

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

generateforms2.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 avg avd avl avm avn avr ávg ávd ávz ávl ávm ávn ávr af áφ 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' ')

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

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

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=m|c=gen|n=s}}'
s[0][2]='|g=n|c=gen|n=s}}'
n.append(3)
# ή
s[1][0]='|g=m|c=acc|n=s}}'
s[1][1]='|g=f|c=acc|n=s}}'
s[1][2]='|g=n|c=nom|n=p}}'
s[1][3]='|g=n|c=acc|n=p}}'
s[1][4]='|g=n|c=voc|n=p}}'
n.append(5)
# είς
s[2][0]='|g=m|c=nom|n=p}}'
s[2][1]='|g=m|c=acc|n=p}}'
s[2][2]='|g=m|c=voc|n=p}}'
s[2][3]='|g=f|c=nom|n=p}}'
s[2][4]='|g=f|c=acc|n=p}}'
s[2][5]='|g=f|c=voc|n=p}}'
n.append(6)
# ών
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)


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()