diff --git a/pronsole.py b/pronsole.py index b431c2c..6bcae83 100755 --- a/pronsole.py +++ b/pronsole.py @@ -131,6 +131,14 @@ def estimate_duration(g): #print "Total Duration: " #, time.strftime('%H:%M:%S', time.gmtime(totalduration)) return "{0:d} layers, ".format(int(layercount)) + str(datetime.timedelta(seconds = int(totalduration))) +def confirm(): + y_or_n = raw_input("y/n: ") + if y_or_n == "y": + return True + elif y_or_n != "n": + return confirm() + return False + class Settings: #def _temperature_alias(self): return {"pla":210, "abs":230, "off":0} #def _temperature_validate(self, v): @@ -956,6 +964,10 @@ class pronsole(cmd.Cmd): l = l.replace(i, self.temps[i]) f = float(l) if f>=0: + if f > 250: + print f, " is a high temperature to set your extruder to. Are you sure you want to do that?" + if not confirm(): + return if self.p.online: self.p.send_now("M104 S"+l) print "Setting hotend temperature to ", f, " degrees Celsius." @@ -1140,8 +1152,14 @@ class pronsole(cmd.Cmd): print "Setting bed temp to 0" self.p.send_now("M140 S0.0") print "Disconnecting from printer..." - self.p.disconnect() + print self.p.printing + if self.p.printing: + print "Are you sure you want to exit while printing?" + print "(this will terminate the print)." + if not confirm(): + return False print "Exiting program. Goodbye!" + self.p.disconnect() return True def help_exit(self): @@ -1331,8 +1349,9 @@ class pronsole(cmd.Cmd): line = raw_input(self.prompt) except EOFError: print "" - self.do_exit("") - exit() + should_exit = self.do_exit("") + if should_exit: + exit() except KeyboardInterrupt: print "" line = ""