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

import os, codecs, re, sys

token_counts = {}

for t in [u',', u'sie', u'?', u'!', u'es', u'nicht', u'war', u'die', u'0', u'ihr', u'–', u'und', u'das', u'der', u'wie', u'wenn', u'was', u'er', u'zu', u'würde', u'man', u'daß', u'von', u'so', u'nur', u'hatte', u'eine', u'diese', u'den', u'in', u'hoheit', u'gewesen', u'doch', u'dieses', u'denn', u'als', u'sich', u'mit', u'ihre', u'haben', u'für', u'aber', u'wußte', u'welt', u'sein', u'sehr', u'schon', u'ob', u'o', u'noch', u'niemand', u'ihrer', u'hätten', u'herzogin', u'herz', u'gott', u'allein', u'„', u'“', u'zur', u'wundervoll', u'wollte', u'wohl', u'wo', u'warum', u'waren', u'verloren', u'stunde', u'sollte', u'rein', u'recht', u'nichts', u'nein', u'mutter', u'konnte', u'kaum', u'kam', u'ihres', u'ihm', u'hielt', u'haßte', u'hatten', u'glaubte', u'geworden', u'geliebte', u'gegenüber', u'ganze', u'frau', u'einer', u'ein', u'des', u'dem', u'dahin', u'brillant', u'blick', u'bereits', u'bei', u'auch', u'am', u'ach', u';', u'übersehen', u'über', u'zärtlichkeit', u'zuwankende', u'zurückstieß', u'zeugen', u'zeiten', u'wunder', u'wisperte', u'wirklich', u'weshalb', u'wer', u'wenigstens', u'welche', u'weiter', u'weisen', u'weib', u'wehgeschah', u'warten', u'warnte', u'wahnsinnigen', u'wahne', u'vor', u'vom', u'vertrauenden', u'verstellen', u'verratene', u'vermessenheit', u'vergessen', u'usance', u'unzähligen', u'unmöglichmachen', u'unbezahlbar', u'unangenehm', u'um', u'törin', u'törichte', u'tut', u'trug', u'trost', u'treten', u'todt', u'todeswunde', u'thekla', u'that', u'streifte', u'stolzes', u'stets', u'sterne', u'sterbende', u'starb', u'spräche', u'spiel', u'sorgen', u'sommersprossen', u'sicher', u'selbst', u'seite', u'seine', u'se', u'schöne', u'schäferspiel', u'schroff', u'schranken', u'schmuckloser', u'schmerz', u'schlimmste', u'schattenspiel', u'schandfleck', u'scene', u'sagte', u'rötlich', u'ritterlich', u'rief', u'retten', u'reinheit', u'reden', u'rast', u'qual', u'prinzeß', u'prinzen', u'ohne', u'niemals', u'niederzuschlagen', u'nie', u'namen', u'nacht', u'nachsichtig', u'nachfolgerin', u'nach', u'müde', u'mädchen', u'mußten', u'mußte', u'mut', u'mochte', u'menschen', u'mehr', u'mannes', u'mann', u'längst', u'lächelte', u'lächeln', u'lieben', u'leidenschaftliche', u'leidenschaft', u'leichtes', u'lebenden', u'last', u'lassen', u'lange', u'land', u'kümmerte', u'körperlich', u'könnte', u'kälte', u'kurze', u'kranke', u'krank', u'konnten', u'keine', u'katzenstein', u'junge', u'jetzt', u'jener', u'im', u'ihn', u'holen', u'hinterher', u'hineinphantasiert', u'himmel', u'heute', u'herzogs', u'herzog', u'hervorgerufen', u'herunter', u'halben', u'habe', u'haar', u'gönnte', u'gut', u'grund', u'grabe', u'glückliche', u'glück', u'gläubigen', u'glaubten', u'glauben', u'ging', u'gezeigt', u'gewußt', u'gewissen', u'gewalt', u'getan', u'gesunkene', u'gestrigen', u'gesetzt', u'gerold', u'gerade', u'genutzt', u'gelangweilt', u'gelacht', u'gekommen', u'geglaubt', u'gegeben', u'geburtstage', u'geblieben', u'gebetet', u'ganz', u'fürstin', u'fräulein', u'freundlich', u'freundin', u'fragte', u'flüsterte', u'flucht', u'fingern', u'finden', u'familie', u'fallen', u'eingeübt', u'einen', u'einem', u'einbildung', u'eigentlich', u'eigenes', u'eifersucht', u'ehre', u'eben', u'dürfe', u'durfte', u'durch', u'draußen', u'dort', u'dieser', u'diesen', u'diesem', u'dies', u'denken', u'davor', u'dauern', u'darauf', u'damen', u'dame', u'dafür', u'da', u'claudine', u'bürgerlichen', u'böhlen', u'brauchte', u'blonden', u'blind', u'blieb', u'blasse', u'bitter', u'bis', u'betäuben', u'besuchten', u'besten', u'besonders', u'besitzen', u'beschwichtigen', u'besaß', u'berg', u'bemerkt', u'begrüßen', u'befahl', u'barmherziger', u'aussehende', u'auf', u'arm', u'anstarren', u'angeklopft', u'anders', u'anderer', u'an', u'alten', u'alte', u'alle', u'ahnen', u'agieren', u'abend', u'-']:

    token_counts[t] = {'examples': 0, 'DE': 0}


text = re.sub('\s+', ' ', codecs.open('Style_indirect_libre_samples_Eulenhaus.txt', 'r', encoding='utf-8').read())

tokens_examples = re.split(u'(\s|~|`|!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\[|\{|\]|\}|\;|\:|\'|\"|\<|\,|\>|\.|\?|\/|\\|\_|\-|\+|\=|»|«|–|\„|\“|\’|\–|\›|\‹|\‚|\‘|\…|–)', text)

for t in tokens_examples:
    try:
        token_counts[t.lower()]['examples'] += 1
    except KeyError:
        pass


text = re.sub('\s+', ' ', codecs.open('Marlitt_Eulenhaus_Pentecost_Gartenlaube.txt', 'r', encoding='utf-8').read())

tokens_DE = re.split(u'(\s|~|`|!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\[|\{|\]|\}|\;|\:|\'|\"|\<|\,|\>|\.|\?|\/|\\|\_|\-|\+|\=|»|«|–|\„|\“|\’|\–|\›|\‹|\‚|\‘|\…|–)', text)

for t in tokens_DE:
    try:
        token_counts[t.lower()]['DE'] += 1
    except KeyError:
        pass

for k, v in token_counts.iteritems():
    print k + '\t' + str(v['examples']) + '\t' + str(v['DE']) + '\t' + str(float(v['examples']) / float(len(tokens_examples))) + '\t' + str(float(v['DE']) / float(len(tokens_DE)))

