#========================================= def ParcourirChemin(chemin): nomEmission = "" # ouvre le fichier de log pour les erreurs ficerr = open('erreurs.log',"w") derniere_racine = '' ep_liste = [] emission_courante = '' saison_courante = '' for racine, reps, fichiers in os.walk(chemin,topdown=True): for fic in [f for f in fichiers if f.endswith (('.avi','mkv','mp4','m4v'))]: # Combine chemin et nom de fichier pour creer une seule variable if derniere_racine != racine: derniere_racine = racine if len(ep_liste) > 0: Manquants(ep_liste,max(ep_liste),saison_courante,emission_courante) ep_liste = [] emission_courante = '' saison_courante = '' fn = join(racine,fic) NomFicOriginal,ext = os.path.splitext(fic) fl = fic estok,donnees = RecupereSaisonEpisode(fl) if estok: emission_courante = nomEmission = data[0] saison_courante = saison = data[1] episode = data[2] ep_liste.append(int(episode)) else: print(racine,fic) print("Pas de saison/episode - {0}".format(fic)) ficerr.writelines('---------------------------\n') ficerr.writelines('{0} ne contient aucune information de serie/episode\n'.format(fic)) ficerr.writelines('---------------------------\n\n') #-------------------------------- #if racine #-------------------------------- requetesql = 'SELECT count(pkid) as nbLignes from EmissionsTV where NomFichier = "%s";' % fl try: for x in curseur.execute(requetesql): nombreLignes = x[0] if nombreLignes == 0: # vide, donc on ajoute try: sql = 'INSERT INTO EmissionsTV (Serie,CheminRacine,NomFichier,Saison,Episode,tvrageid) VALUES (?,?,?,?,?,?)' curseur.execute(sql,(nomEmission,racine,fl,saison,episode,-1)) except: print("Erreur") print('Fichier = {0}\n'.format(fic)) ficerr.writelines('---------------------------\n') ficerr.writelines('Erreur ecriture dans la base...\n') ficerr.writelines('nomfic = {0}\n'.format(fic)) ficerr.writelines('---------------------------\n\n') except: print("Erreur") print(racine,fic) # ferme le fichier de log ficerr.close # Fin de ParcourirChemin #---------------------------------- def Manquants(episode_liste,nombre_theorique,saison,nom_emission): #---------------------------------- # episode_liste est une liste # nombre_theorique est un entier # saison est un entier # nom_emission est une chaine #---------------------------------- temp = set(range(1,nombre_theorique+1)) ret = list(temp-set(episode_liste)) if len(ret) > 0: print('Episodes manquants pour {0} saison {1} - {2}'.format(nom_emission,saison,ret))