예제 #1
0
def main():
    if len(sys.argv) != 3:
        print('ERROR Debe especificar 1 ruta, 2 fichero md5')
        sys.exit(1)

    if not os.path.exists(sys.argv[1]):
        print('ERROR El fichero o directorio no existe: ' + sys.argv[1])
        sys.exit(1)

    if not os.path.exists(sys.argv[2]):
        print('ERROR El fichero de md5 no existe: ' + sys.argv[2])
        sys.exit(2)

    # listado de ficheros que existen
    lineas = fichero.leeLineas(sys.argv[2])
    existen = []
    for l in lineas:
        existen.append(l[0:32])

    ficheros = []
    if os.path.isdir(sys.argv[1]):
        ficheros = fichero.ficherosEnDir(sys.argv[1])
    else:
        ficheros = [sys.argv[1]]

    print("Se van a calcular los MD5 de " + str(len(ficheros)) + " ficheros")

    iteracion = 0
    total = len(ficheros)
    borrados = 0
    errores = []
    for f in ficheros:

        iteracion += 1
        if fichero.md5sum(f) in existen:
            borrados += 1
            try:
                os.remove(f)
            except:
                print("Error borrando: " + f)
                errores.append(f)
            progressBar(iteracion,total, str(borrados) + " " + str(f))
        else:
            progressBar(iteracion,total)



    print("\nSe han borrado " + str(borrados) + " de " + str(total) + " ficheros")
    print("Errores: " + "\n".join(errores))
    return 0
예제 #2
0
파일: md5dir.py 프로젝트: felipem775/jumble
def main():

  if len(sys.argv) != 2 and len(sys.argv) != 3:
    print('ERROR Debe especificar 1 ruta, [2 fichero almacenamiento]')
    sys.exit(1)

  if not os.path.exists(sys.argv[1]):
    print('ERROR El fichero o directorio no existe: ' + sys.argv[1])
    sys.exit(1)

  # El fichero resultado por defecto será el nombre del fichero/carpeta
  ficheroResultado = sys.argv[1] + ".md5";
  # Comprobamos que no termine en / para que no genere un fichero ".md5"
  # dentro de él
  if sys.argv[1][len(sys.argv[1])-1] == '/':
    ficheroResultado = sys.argv[1][0:len(sys.argv[1])-1] + ".md5";

  if len(sys.argv) == 3:
    ficheroResultado = sys.argv[2]

  if os.path.exists(ficheroResultado):
    os.remove(ficheroResultado)

  open(ficheroResultado, 'w').close()


  ficheros = []
  if os.path.isdir(sys.argv[1]):
    ficheros = fichero.ficherosEnDir(sys.argv[1])
  else:
    ficheros = [sys.argv[1]]

  print("Se van a calcular los MD5 de " + str(len(ficheros)) + " ficheros")
  texto = ""
  iteracion = 0
  total = len(ficheros)
  
  for f in ficheros:
    try:
      iteracion += 1
      texto += fichero.md5sum(f) + "  " + f + '\n'
      progressBar.progressBar(iteracion,total,f)
    except Exception as e:
      print("ERROR fichero: " +f, e)

  fichero.escribirFicheroAlFinal(ficheroResultado, texto)

  print("El resultado se ha almacenado en: " + ficheroResultado)
  return 0
예제 #3
0
def main():
    if len(sys.argv) != 3:
        print('ERROR Debe especificar 1 ruta, 2 fichero md5')
        sys.exit(1)

    if not os.path.exists(sys.argv[1]):
        print('ERROR El fichero o directorio no existe: ' + sys.argv[1])
        sys.exit(1)

    if not os.path.exists(sys.argv[2]):
        print('ERROR El fichero de md5 no existe: ' + sys.argv[2])
        sys.exit(2)

    # listado de ficheros que existen
    lineas = fichero.leeLineas(sys.argv[2])
    existen = []
    for l in lineas:
        existen.append(l[0:32])

    ficheros = []
    if os.path.isdir(sys.argv[1]):
        ficheros = fichero.ficherosEnDir(sys.argv[1])
    else:
        ficheros = [sys.argv[1]]

    print("Se van a calcular los MD5 de " + str(len(ficheros)) + " ficheros")

    iteracion = 0
    total = len(ficheros)
    borrados = 0
    errores = []
    for f in ficheros:

        iteracion += 1
        if fichero.md5sum(f) in existen:
            borrados += 1
            try:
                os.remove(f)
            except:
                print("Error borrando: " + f)
                errores.append(f)
            progressBar(iteracion, total, str(borrados) + " " + str(f))
        else:
            progressBar(iteracion, total)

    print("\nSe han borrado " + str(borrados) + " de " + str(total) +
          " ficheros")
    print("Errores: " + "\n".join(errores))
    return 0