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
Example #2
0
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)
Example #3
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