def read(deviceFile, mountingPoint, fileToBurn): """Lê o MD5 CRC do arquivo local fileToBurn e do arquivo gravado e armazena o resultado da comparação entre eles em __readStatus""" executor = ApplicationExecutor() result = False outputStr, errorStr, returnCode = executor.executeCommandAndWait( True, None, "mount %s %s" % (deviceFile, mountingPoint) ) if returnCode == 0: outputStr1, errorStr1, returnCode1 = executor.executeCommandAndWait( False, None, ["md5sum", "%s" % fileToBurn], ["awk", "{print $1}"] ) outputStr2, errorStr2, returnCode2 = executor.executeCommandAndWait( False, None, ["md5sum", "%s/%s" % (mountingPoint, fileToBurn.split("/")[-1])], ["awk", "{print $1}"] ) outputStr3, errorStr3, returnCode3 = executor.executeCommandAndWait(True, None, "umount %s" % deviceFile) originalMD5 = outputStr1.rstrip() burnedMD5 = outputStr2.rstrip() result = (returnCode1 == 0) and (returnCode2 == 0) and (originalMD5 == burnedMD5) return result
def burn(deviceFile, tempDir, fileToBurn, media): """Grava o arquivo fileToBurn na mídia inserida""" outputStr = None errorStr = None returnCode = None createBurnFileCmd = __file__.split("/") del(createBurnFileCmd[-1]) createBurnFileCmd.append("create_burn_file.sh") createBurnFileCmd = "/".join(createBurnFileCmd) createBurnFileCmd = "/bin/sh " + createBurnFileCmd executor = ApplicationExecutor() outputStr, errorStr, returnCode = executor.executeCommandAndWait(True, None, createBurnFileCmd) if (returnCode == 0): if (media['Type'] == 'DVD'): outputStr, errorStr, returnCode = executor.executeCommandAndWait(True, None, "growisofs -dvd-compat -input-charset=ISO-8859-1 -Z %s -R -J -pad %s" % (deviceFile, fileToBurn)) elif (media['Type'] == 'CD'): outputStr, errorStr, returnCode = executor.executeCommandAndWait(True, None, "mkisofs -r -R -J -l -L -allow-multidot -o %s/ldc_tmp.iso -graft-points %s=%s" % (tempDir, fileToBurn, fileToBurn)) outputStr, errorStr, returnCode = executor.executeCommandAndWait(True, None, "cdrecord dev=%s -v --eject speed=4" % deviceFile) else: print "ERRO : Tipo de midia desconhecido" return (returnCode == 0)
def read(deviceFile, mountingPoint, fileToBurn): """Lê o MD5 CRC do arquivo local fileToBurn e do arquivo gravado e armazena o resultado da comparação entre eles em __readStatus""" executor = ApplicationExecutor() result = False outputStr, errorStr, returnCode = executor.executeCommandAndWait(True, None, "mount %s %s" % (deviceFile, mountingPoint)) if (returnCode == 0): outputStr1, errorStr1, returnCode1 = executor.executeCommandAndWait(False, None, ['md5sum', "%s" % fileToBurn], ['awk', '{print $1}']) outputStr2, errorStr2, returnCode2 = executor.executeCommandAndWait(False, None, ['md5sum', "%s/%s" % (mountingPoint, fileToBurn.split("/")[-1])], ['awk', '{print $1}']) outputStr3, errorStr3, returnCode3 = executor.executeCommandAndWait(True, None, "umount %s" % deviceFile) originalMD5 = outputStr1.rstrip() burnedMD5 = outputStr2.rstrip() result = (returnCode1 == 0) and (returnCode2 == 0) and (originalMD5 == burnedMD5) return result
def burn(deviceFile, tempDir, fileToBurn, media): """Grava o arquivo fileToBurn na mídia inserida""" outputStr = None errorStr = None returnCode = None createBurnFileCmd = __file__.split("/") del (createBurnFileCmd[-1]) createBurnFileCmd.append("create_burn_file.sh") createBurnFileCmd = "/".join(createBurnFileCmd) createBurnFileCmd = "/bin/sh " + createBurnFileCmd executor = ApplicationExecutor() outputStr, errorStr, returnCode = executor.executeCommandAndWait(True, None, createBurnFileCmd) if returnCode == 0: if media["Type"] == "DVD": outputStr, errorStr, returnCode = executor.executeCommandAndWait( True, None, "growisofs -dvd-compat -input-charset=ISO-8859-1 -Z %s -R -J -pad %s" % (deviceFile, fileToBurn), ) elif media["Type"] == "CD": outputStr, errorStr, returnCode = executor.executeCommandAndWait( True, None, "mkisofs -r -R -J -l -L -allow-multidot -o %s/ldc_tmp.iso -graft-points %s=%s" % (tempDir, fileToBurn, fileToBurn), ) outputStr, errorStr, returnCode = executor.executeCommandAndWait( True, None, "cdrecord dev=%s -v --eject speed=4" % deviceFile ) else: print "ERRO : Tipo de midia desconhecido" return returnCode == 0