def update(self): if self.update_flag: self.logger.info('Updating client...') update_file_name = config.get_settings( )['update']['update_file_name'] try: urllib.urlretrieve( config.get_settings()['update']['update_file_url'] + update_file_name, update_file_name) except Exception as e: error_message = 'Update failed!\nReason: error while downloading.\nDetails: ' + str( e) config.create_error_report(0, error_message, None, self.logger, is_blocking=True) return error_message else: error = self.extract_update(update_file_name) if error: return error self.logger.info('...client successfully updated!') self.update_flag = False log.send_logs() log.clear_logs()
def update(self): if self.update_flag: self.logger.info('Updating client...') update_file_name = config.get_settings()['update']['update_file_name'] try: urllib.urlretrieve(config.get_settings()['update']['update_file_url'] + update_file_name, update_file_name) except Exception as e: error_message = 'Update failed!\nReason: error while downloading.\nDetails: ' + str(e) config.create_error_report(0, error_message, None, self.logger, is_blocking=True) return error_message else: error = self.extract_update(update_file_name) if error: return error self.logger.info('...client successfully updated!') self.update_flag = False log.send_logs() log.clear_logs()
def run(sleep_time=0.5): clear_logs() logging.basicConfig(filename=LOG_FILE, level=logging.DEBUG) log("run()", "Starting message loop") start_time = time.time() MessageLoop(bot).run_as_thread() sig = SignalProcess() if not DEBUGGING: load_articles() running = True while running: if sig.kill_now: import os log("run()", "SIGTERM or kill called on process. Exiting now...") running = False os.kill(os.getpid(), 0) if (time.time() - start_time) >= CACHE_CLEAR_PERIOD: log("run()", "Clearing cache and resetting log file (every {} hour(s)".format(CACHE_CLEAR_PERIOD/3600)) start_time = time.time() # reset cache clear_cache() # Reload articles load_articles() # Reset log file and copy the previous one to the backup directory # Keeps log files from becoming too big clear_logs() time.sleep(sleep_time)
def clear_logs(self): log.clear_logs() self.write_message('Logs successfully cleared. Writing logs stopped. \ <br><br>Please restart 3DPrinterOS Client to start writing new logs!' + self.page_former.form_back_button('/'), show_time=0)
def clear_logs(self): log.clear_logs() self.write_message('Logs successfully cleared. Writing logs stopped. \ <br><br>Please restart 3DPrinterOS Client to start writing new logs!' + self.get_back_button('/'), show_time=0)