def isEmpty(deviceFile):
    """Funcao que verifica se a midia inserida no dispositivo 'deviceFile' esta vazia."""

    cmd0 = ["cdrecord", "-media-info", "dev=%s" % deviceFile, "2>", "/dev/null"]
    cmd1 = ["grep", "disk status:"]
    cmd2 = ["awk", "{print $3}"]

    o_str, e_str, ret_code = ApplicationExecutor().executeCommandAndWait(False, None, cmd0, cmd1, cmd2)

    ret = (ret_code == 0) and (o_str.rstrip() == "empty")

    return ret
Example #2
0
def isEmpty(deviceFile):
	"""Funcao que verifica se a midia inserida no dispositivo 'deviceFile' esta vazia."""

	cmd0 = ['cdrecord', '-media-info', 'dev=%s' % deviceFile, '2>', '/dev/null']
	cmd1 = ['grep', 'disk status:']
	cmd2 = ['awk', '{print $3}']

	o_str, e_str, ret_code = ApplicationExecutor().executeCommandAndWait(False, None, cmd0, cmd1, cmd2)

	ret = (ret_code == 0) and (o_str.rstrip() == "empty")

	return ret
def getMediaInfo(deviceFile):
    """
	Verifica qual o tipo de mídia inserida no dispositivo deviceFile

	Este método retorna um dicionario com as chaves 'Type', 'Rewritable' e 'Empty',
	onde Type é 'CD', 'DVD' ou None, Rewritable é um booleano, indicando se a mídia é
	regravável e Empty é outro booleano, indicando se a mídia esta vazia.
	"""

    # Current: CD-RW
    # Current: DVD-R sequential recording
    # Current: DVD-RW sequential recording

    mediaType = None
    rewritable = False
    empty = False

    cmd0 = ["cdrecord", "-prcap", "dev=%s" % deviceFile]
    cmd1 = ["grep", "Current:"]
    cmd2 = ["awk", "{print $2}"]

    o_str, e_str, ret_code = ApplicationExecutor().executeCommandAndWait(False, None, cmd0, cmd1, cmd2)

    if ret_code == 0:
        o_str = o_str.rstrip()

        knownMedia = False

        if o_str in ["CD-R", "CD-RW", "DVD-R", "DVD+R", "DVD-RW", "DVD+RW"]:
            knownMedia = True
            rewritable = False

            if o_str.__contains__("RW"):
                rewritable = True

        else:
            print "ERRO : Tipo de midia desconhecido (%s)" % o_str

        if knownMedia:
            split_char = "-"

            if o_str.__contains__("+"):
                split_char = "+"

            mediaType = o_str.split(split_char)[0]

        if mediaType:
            empty = isEmpty(deviceFile)

    return {"Type": mediaType, "Rewritable": rewritable, "Empty": empty}
Example #4
0
def getMediaInfo(deviceFile):
	"""
	Verifica qual o tipo de mídia inserida no dispositivo deviceFile

	Este método retorna um dicionario com as chaves 'Type', 'Rewritable' e 'Empty',
	onde Type é 'CD', 'DVD' ou None, Rewritable é um booleano, indicando se a mídia é
	regravável e Empty é outro booleano, indicando se a mídia esta vazia.
	"""

	# Current: CD-RW
	# Current: DVD-R sequential recording
	# Current: DVD-RW sequential recording

	mediaType = None
	rewritable = False
	empty = False

	cmd0 = ['cdrecord', '-prcap', 'dev=%s' % deviceFile]
	cmd1 = ['grep', 'Current:']
	cmd2 = ['awk', '{print $2}']

	o_str, e_str, ret_code = ApplicationExecutor().executeCommandAndWait(False, None, cmd0, cmd1, cmd2)

	if (ret_code == 0):
		o_str = o_str.rstrip()

		knownMedia = False

		if (o_str in ['CD-R', 'CD-RW', 'DVD-R', 'DVD+R', 'DVD-RW', 'DVD+RW']):
			knownMedia = True
			rewritable = False

			if (o_str.__contains__("RW")):
				rewritable = True

		else:
			print "ERRO : Tipo de midia desconhecido (%s)" % o_str

		if (knownMedia):
			split_char = "-"

			if (o_str.__contains__("+")):
				split_char = "+"

			mediaType = o_str.split(split_char)[0]

		if (mediaType):
			empty = isEmpty(deviceFile)

	return {'Type': mediaType, 'Rewritable': rewritable, 'Empty': empty}