From 10d76ae7a4e4962e57a167377969768060856693 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Mon, 6 Oct 2014 19:01:30 +0200 Subject: [PATCH] Fix for deleting the file that is currently selected Due to a missing switch to a refactored version of an internal data structure, that file stayed being selected but wasn't actually there anymore, leading to an error upon hitting Print. --- src/octoprint/server/api/files.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/octoprint/server/api/files.py b/src/octoprint/server/api/files.py index 572ec0fc..33b04398 100644 --- a/src/octoprint/server/api/files.py +++ b/src/octoprint/server/api/files.py @@ -359,17 +359,15 @@ def deleteGcodeFile(filename, target): if not _verifyFileExists(target, filename): return make_response("File not found on '%s': %s" % (target, filename), 404) - sd = target == FileDestinations.SDCARD - currentJob = printer.getCurrentJob() currentFilename = None - currentSd = None - if currentJob is not None and "filename" in currentJob.keys() and "sd" in currentJob.keys(): - currentFilename = currentJob["filename"] - currentSd = currentJob["sd"] + currentOrigin = None + if currentJob is not None and "file" in currentJob.keys() and "name" in currentJob["file"] and "origin" in currentJob["file"]: + currentFilename = currentJob["file"]["name"] + currentOrigin = currentJob["file"]["origin"] # prohibit deleting the file that is currently being printed - if currentFilename == filename and currentSd == sd and (printer.isPrinting() or printer.isPaused()): + if currentFilename == filename and currentOrigin == target and (printer.isPrinting() or printer.isPaused()): make_response("Trying to delete file that is currently being printed: %s" % filename, 409) # deselect the file if it's currently selected @@ -377,7 +375,7 @@ def deleteGcodeFile(filename, target): printer.unselectFile() # delete it - if sd: + if target == FileDestinations.SDCARD: printer.deleteSdFile(filename) else: fileManager.remove_file(target, filename)