import sys, os, re, datetime, threading


class cercaFitxer(threading.Thread):
    e = ("no respon","no funciona del tot","funciona")
    def __init__ (self, arrel, nomf):
        threading.Thread.__init__(self)
        self.nomf = nomf
        self.arrel=arrel
        self.trobats = []
        self.tinicial = datetime.datetime.now()

    def run(self):
        sortida = os.popen('find '+self.arrel+' -name "'+self.nomf+'"',"r")
        self.trobats=list(map(lambda x: x.strip(), sortida))
        self.tfinal = datetime.datetime.now()

if __name__ == "__main__":
    t1 = datetime.datetime.now()
    if len(sys.argv)<2 :
        sys.exit(os.EX_USAGE)
    fils=[cercaFitxer(sys.argv[1], sys.argv[i]) for i in range(2,len(sys.argv))]
    for fil in fils:
        fil.start()
    for fil in fils:
        fil.join()
        print(fil.nomf,": ", fil.trobats)
    t2 = datetime.datetime.now()
    print('Fet en ',t2 - t1)
    print('Per fils:')
    for fil in fils:
        print('fil fet en ',fil.tfinal - fil.tinicial)
