# coding: utf-8

from argparse import ArgumentParser
import matplotlib.pyplot as plt
from lorem import text as loremtext
from functions import readFile


def checkArguments():
    args = ArgumentParser(description='Cryptanalyst')
    args.add_argument('-f', '--filename', help='Text to analyze')
    return args.parse_args()

def stats(file=None):
    """
        This function get a stats of all letter occurrence in a text
    """
    if file is None:
        dataFile = loremtext()
    else:
        dataFile = file

    lettersOccurence = []

    # Init our tab
    for i in range (0, 26):
        lettersOccurence.append(0)

    letterToAscii = ord('a') # Get the ASCII code
    for letter in dataFile:
        l = ord(letter) - letterToAscii
        if l >= 0 and l <= 26:
           lettersOccurence[l] += 1

    x = [chr(letter + 65) for letter in range(0, 26)]
    y = [tmp for tmp in lettersOccurence]

    largeur = 0.5
    plt.bar(x, y, largeur)
    plt.show()

if __name__ == "__main__":
    args = checkArguments()

    if args.filename:
        dataFile = readFile(args.filename)

    stats(dataFile)