# Scrivere il corpo delle funzioni aprifile e contaparole.
# La funzione aprifile prende in ingresso una stringa
# che contiene il nome di un file. La funzione restituisce
# il wrapper del file aperto in modalità lettura.
# Se l'operazione non va a buon fine, gestire l'errore
# facendo restituire None. 
# La funzione contaparole prende in ingresso due argomenti:
# il primo è un wrapper al file, il secondo è una stringa.
# Si suppone che la stringa passata sia composta da una parola.
# La funzione deve contare quante volte la parola data
# è presente nel file, indifferentemente che sia maiuscola
# o minuscola, e restituire questo valore.
# Gestire il caso in cui il primo argomento non è un
# file wrapper valido scrivendo a video la stringa "Errore I/O"
# e restituendo -1
# I test usando due file. Il primo è questo file (il nome è
# contenuto nella variabile globale __file__).
# Il secondo è un file vuoto creato dal test appositamente.
# Esempio: se il file "titolo1" contiene il testo
# "Il mare e il cielo"
# la funzione contaparole(aprifile("titolo1"),"il") restituisce 2.

# Opzionale: per rimuovere i caratteri di punteggiatura
# da una stringa si può usare il metodo translate che
# utilizza il metodo di maketrans della classe str e
# la variabile punctuation della libreria string che contiene
# tutti i caratteri di punteggiatura.
# Esempio di utilizzo:
# stringa = "a, asd ."
# senzaPunteggiatura = stringa.translate(str.maketrans('', '', string.punctuation))
# --> 'a asd '

import string
import _io

def aprifile(nomefile):
    pass


def contaparole(fileWrapper, parola):
    pass


#Prova
print(contaparole(aprifile(__file__),"il"))

#TEST: non modificare questa parte
if type(aprifile(__file__)) == _io.TextIOWrapper:
    print("Test 1: OK")
else:
    print("Test 1: NON SUPERATO")

if aprifile("nomeNonEsistente"):
    print("Test 2: NON SUPERATO")
else:
    print("Test 2: OK")

if contaparole(aprifile(__file__),"è") > 0:
    print ("Test 3: OK")
else: print ("Test 3: NON SUPERATO")

if contaparole(aprifile(__file__)," ") == 0:
    print ("Test 4: OK")
else: print ("Test 4: NON SUPERATO")

if contaparole(aprifile("sadsdas")," ")==-1:
    print("Test 5: OK")
else:
    print("Test 5: NON SUPERATO")

with open("test","w") as emptyFile:
    pass
if contaparole(aprifile("test"),"prova") == 0:
    print ("Test 6: OK")
else: print ("Test 6: NON SUPERATO")
