Advertisement
Guest User

FCM 77 - Programmer en Python n° 47

a guest
Mar 7th, 2014
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.30 KB | None | 0 0
  1. #=========================================    
  2. def ParcourirChemin(chemin):
  3.     nomEmission = ""
  4.     # ouvre le fichier de log pour les erreurs
  5.     ficerr = open('erreurs.log',"w")
  6.     derniere_racine = ''
  7.     ep_liste = []
  8.     emission_courante = ''
  9.     saison_courante = ''
  10.     for racine, reps, fichiers in os.walk(chemin,topdown=True):
  11.         for fic in [f for f in fichiers if f.endswith (('.avi','mkv','mp4','m4v'))]:
  12.             # Combine chemin et nom de fichier pour creer une seule variable
  13.             if derniere_racine != racine:
  14.                 derniere_racine = racine
  15.                 if len(ep_liste) > 0:
  16.                     Manquants(ep_liste,max(ep_liste),saison_courante,emission_courante)
  17.                 ep_liste = []
  18.                 emission_courante = ''
  19.                 saison_courante = ''
  20.             fn = join(racine,fic)  
  21.             NomFicOriginal,ext = os.path.splitext(fic)
  22.             fl = fic
  23.             estok,donnees = RecupereSaisonEpisode(fl)
  24.             if estok:
  25.                 emission_courante = nomEmission = data[0]
  26.                 saison_courante = saison = data[1]
  27.                 episode = data[2]
  28.                 ep_liste.append(int(episode))
  29.             else:
  30.                 print(racine,fic)
  31.                 print("Pas de saison/episode - {0}".format(fic))
  32.                 ficerr.writelines('---------------------------\n')
  33.                 ficerr.writelines('{0} ne contient aucune information de serie/episode\n'.format(fic))
  34.                 ficerr.writelines('---------------------------\n\n')
  35.             #--------------------------------
  36.             #if racine
  37.             #--------------------------------
  38.            requetesql = 'SELECT count(pkid) as nbLignes from EmissionsTV where NomFichier = "%s";' % fl
  39.             try:
  40.                 for x in curseur.execute(requetesql):
  41.                     nombreLignes = x[0]
  42.                 if nombreLignes == 0:  # vide, donc on ajoute
  43.                     try:
  44.                         sql = 'INSERT INTO EmissionsTV (Serie,CheminRacine,NomFichier,Saison,Episode,tvrageid) VALUES (?,?,?,?,?,?)'
  45.                         curseur.execute(sql,(nomEmission,racine,fl,saison,episode,-1))
  46.                     except:
  47.                         print("Erreur")
  48.                         print('Fichier = {0}\n'.format(fic))
  49.                         ficerr.writelines('---------------------------\n')
  50.                         ficerr.writelines('Erreur ecriture dans la base...\n')
  51.                         ficerr.writelines('nomfic = {0}\n'.format(fic))
  52.                         ficerr.writelines('---------------------------\n\n')
  53.             except:
  54.                 print("Erreur")
  55.                 print(racine,fic)
  56.         # ferme le fichier de log
  57.         ficerr.close
  58.     # Fin de ParcourirChemin
  59.      
  60. #----------------------------------
  61. def Manquants(episode_liste,nombre_theorique,saison,nom_emission):
  62.     #----------------------------------
  63.     # episode_liste est une liste
  64.     # nombre_theorique est un entier
  65.     # saison est un entier
  66.     # nom_emission est une chaine
  67.     #----------------------------------
  68.     temp = set(range(1,nombre_theorique+1))
  69.     ret = list(temp-set(episode_liste))
  70.     if len(ret) > 0:
  71.         print('Episodes manquants pour {0} saison {1} - {2}'.format(nom_emission,saison,ret))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement