Also update the metadata correctly when an analysis finishes
Closes #476 for good
This commit is contained in:
parent
6a3241fa0b
commit
65624ed77e
2 changed files with 26 additions and 15 deletions
|
|
@ -104,6 +104,8 @@ class Printer():
|
|||
currentZ=None
|
||||
)
|
||||
|
||||
eventManager().subscribe(Events.METADATA_ANALYSIS_FINISHED, self.onMetadataAnalysisFinished);
|
||||
|
||||
#~~ callback handling
|
||||
|
||||
def registerCallback(self, callback):
|
||||
|
|
@ -152,6 +154,14 @@ class Printer():
|
|||
self._selectedFile["filesize"],
|
||||
self._selectedFile["sd"])
|
||||
|
||||
#~~ callback from metadata analysis event
|
||||
|
||||
def onMetadataAnalysisFinished(self, event, data):
|
||||
if self._selectedFile:
|
||||
self._setJobData(self._selectedFile["filename"],
|
||||
self._selectedFile["filesize"],
|
||||
self._selectedFile["sd"])
|
||||
|
||||
#~~ printer commands
|
||||
|
||||
def connect(self, port=None, baudrate=None):
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ function PrinterStateViewModel(loginStateViewModel) {
|
|||
if (!self.printTimeLeft())
|
||||
return "-";
|
||||
return formatDuration(self.printTimeLeft());
|
||||
})
|
||||
});
|
||||
self.progressString = ko.computed(function() {
|
||||
if (!self.progress())
|
||||
return 0;
|
||||
|
|
@ -83,22 +83,22 @@ function PrinterStateViewModel(loginStateViewModel) {
|
|||
|
||||
self.fromCurrentData = function(data) {
|
||||
self._fromData(data);
|
||||
}
|
||||
};
|
||||
|
||||
self.fromHistoryData = function(data) {
|
||||
self._fromData(data);
|
||||
}
|
||||
};
|
||||
|
||||
self.fromTimelapseData = function(data) {
|
||||
self.timelapse(data);
|
||||
}
|
||||
};
|
||||
|
||||
self._fromData = function(data) {
|
||||
self._processStateData(data.state)
|
||||
self._processStateData(data.state);
|
||||
self._processJobData(data.job);
|
||||
self._processProgressData(data.progress);
|
||||
self._processZData(data.currentZ);
|
||||
}
|
||||
};
|
||||
|
||||
self._processStateData = function(data) {
|
||||
self.stateString(data.text);
|
||||
|
|
@ -109,7 +109,7 @@ function PrinterStateViewModel(loginStateViewModel) {
|
|||
self.isError(data.flags.error);
|
||||
self.isReady(data.flags.ready);
|
||||
self.isSdReady(data.flags.sdReady);
|
||||
}
|
||||
};
|
||||
|
||||
self._processJobData = function(data) {
|
||||
if (data.file) {
|
||||
|
|
@ -121,6 +121,7 @@ function PrinterStateViewModel(loginStateViewModel) {
|
|||
self.filesize(undefined);
|
||||
self.sd(undefined);
|
||||
}
|
||||
|
||||
self.estimatedPrintTime(data.estimatedPrintTime);
|
||||
|
||||
var result = [];
|
||||
|
|
@ -131,12 +132,12 @@ function PrinterStateViewModel(loginStateViewModel) {
|
|||
result[i] = {
|
||||
name: ko.observable("Tool " + i),
|
||||
data: ko.observable(data.filament[key])
|
||||
}
|
||||
};
|
||||
i++;
|
||||
} while (data.filament.hasOwnProperty("tool" + i));
|
||||
}
|
||||
self.filament(result);
|
||||
}
|
||||
};
|
||||
|
||||
self._processProgressData = function(data) {
|
||||
if (data.completion) {
|
||||
|
|
@ -147,16 +148,16 @@ function PrinterStateViewModel(loginStateViewModel) {
|
|||
self.filepos(data.filepos);
|
||||
self.printTime(data.printTime);
|
||||
self.printTimeLeft(data.printTimeLeft);
|
||||
}
|
||||
};
|
||||
|
||||
self._processZData = function(data) {
|
||||
self.currentHeight(data);
|
||||
}
|
||||
};
|
||||
|
||||
self.print = function() {
|
||||
var restartCommand = function() {
|
||||
self._jobCommand("restart");
|
||||
}
|
||||
};
|
||||
|
||||
if (self.isPaused()) {
|
||||
$("#confirmation_dialog .confirmation_dialog_message").text("This will restart the print job from the beginning.");
|
||||
|
|
@ -167,15 +168,15 @@ function PrinterStateViewModel(loginStateViewModel) {
|
|||
self._jobCommand("start");
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
self.pause = function() {
|
||||
self._jobCommand("pause");
|
||||
}
|
||||
};
|
||||
|
||||
self.cancel = function() {
|
||||
self._jobCommand("cancel");
|
||||
}
|
||||
};
|
||||
|
||||
self._jobCommand = function(command) {
|
||||
$.ajax({
|
||||
|
|
|
|||
Loading…
Reference in a new issue