def moveFiles(fileList):
	errorFlag = False
	movedList = []
	try:
		for item in fileList:
			os.rename(item[0], item[1])
			movedList.append(item)
	except (IOError, OSError) as err:
		if err.errno == errno.EXDEV:  # Invalid cross-device link
			print "[Directories] Warning: Cannot rename across devices, trying slower move."
			# from Tools.CopyFiles import moveFiles as extMoveFiles  # OpenViX, OpenATV, Beyonwiz
			from Screens.CopyFiles import moveFiles as extMoveFiles  # OpenPLi
			extMoveFiles(fileList, item[0])
			print "[Directories] Moving files in background."
		else:
			print "[Directories] Error %d: Moving file '%s' to '%s'! (%s)" % (err.errno, item[0], item[1], err.strerror)
			errorFlag = True
	if errorFlag:
		print "[Directories] Reversing renamed files due to error."
		for item in movedList:
			try:
				os.rename(item[1], item[0])
			except (IOError, OSError) as err:
				print "[Directories] Error %d: Renaming '%s' to '%s'! (%s)" % (err.errno, item[1], item[0], err.strerror)
				print "[Directories] Failed to undo move:", item
Beispiel #2
0
def moveFiles(fileList):
    errorFlag = False
    movedList = []
    try:
        for item in fileList:
            rename(item[0], item[1])
            movedList.append(item)
    except (IOError, OSError) as err:
        if err.errno == EXDEV:  # EXDEV - Invalid cross-device link.
            print(
                "[Directories] Warning: Cannot rename across devices, trying slower move."
            )
            from Screens.CopyFiles import moveFiles as extMoveFiles
            extMoveFiles(fileList, item[0])
            print("[Directories] Moving files in background.")
        else:
            print("[Directories] Error %d: Moving file '%s' to '%s'!  (%s)" %
                  (err.errno, item[0], item[1], err.strerror))
            errorFlag = True
    if errorFlag:
        print("[Directories] Reversing renamed files due to error.")
        for item in movedList:
            try:
                rename(item[1], item[0])
            except (IOError, OSError) as err:
                print("[Directories] Error %d: Renaming '%s' to '%s'!  (%s)" %
                      (err.errno, item[1], item[0], err.strerror))
                print(
                    "[Directories] Note: Failed to undo move of '%s' to '%s'!"
                    % (item[0], item[1]))
def moveFiles(fileList):
	errorFlag = False
	movedList = []
	try:
		for item in fileList:
			os.rename(item[0], item[1])
			movedList.append(item)
	except OSError, e:
		if e.errno == 18:  # errno.EXDEV - Invalid cross-device link
			print "[Directories] Warning: Cannot rename across devices, trying slower move."
			# from Tools.CopyFiles import moveFiles as extMoveFiles  # OpenViX, OpenATV, Beyonwiz
			from Screens.CopyFiles import moveFiles as extMoveFiles  # OpenPLi
			extMoveFiles(fileList, item[0])
			print "[Directories] Moving files in background."
		else:
			print "[Directories] Error %d: Moving file '%s' to '%s'! (%s)" % (e.errno, item[0], item[1], os.strerror(e.error))
			errorFlag = True