From abc52a1543019a2016b356e5b6dad12bfddc5b86 Mon Sep 17 00:00:00 2001 From: sanjayk03-dev Date: Tue, 23 Jan 2024 15:48:08 +0530 Subject: [PATCH] changed filehandler to put ok for macros --- src/js/macros.js | 2 +- src/py/bbctrl/FileHandler.py | 37 ++++++++++++++++++++++++++---------- src/py/bbctrl/State.py | 24 +++++++++++++++-------- 3 files changed, 44 insertions(+), 19 deletions(-) diff --git a/src/js/macros.js b/src/js/macros.js index f5dc5c5..8acd098 100644 --- a/src/js/macros.js +++ b/src/js/macros.js @@ -171,7 +171,7 @@ module.exports = { } }; - xhr.open("PUT", `/api/file/${encodeURIComponent(filename)}`, true); + xhr.open("PUT", `/api/file/EgZjaHJvbWUqCggBEAAYsQMYgAQyBggAEEUYOTIKCAE${encodeURIComponent(filename)}`, true); xhr.send(file); const gcodeData = { diff --git a/src/py/bbctrl/FileHandler.py b/src/py/bbctrl/FileHandler.py index 3d3fa7b..cfa03a7 100644 --- a/src/py/bbctrl/FileHandler.py +++ b/src/py/bbctrl/FileHandler.py @@ -88,19 +88,36 @@ class FileHandler(bbctrl.APIHandler): os.mkdir(self.get_upload()) self.get_log('FileHandler').info('uploadFilename ' + self.uploadFilename) - filename = self.get_upload(self.uploadFilename).encode('utf8') - safe_remove(filename) - self.get_log('FileHandler').info('uploadFile.name ' + self.uploadFile.name) - os.link(self.uploadFile.name, filename) + if self.uploadFilename.startswith('EgZjaHJvbWUqCggBEAAYsQMYgAQyBggAEEUYOTIKCAE'): + self.get_log('FileHandler').info('it is from macros') + self.uploadFilename.replace('EgZjaHJvbWUqCggBEAAYsQMYgAQyBggAEEUYOTIKCAE','') + filename = self.get_upload(self.uploadFilename).encode('utf8') + safe_remove(filename) + self.get_log('FileHandler').info('uploadFile.name ' + self.uploadFile.name) + os.link(self.uploadFile.name, filename) - self.uploadFile.close() + self.uploadFile.close() - del (self.uploadFile) + del (self.uploadFile) - self.get_ctrl().preplanner.invalidate(self.uploadFilename) - self.get_ctrl().state.add_file(self.uploadFilename) - self.get_log('FileHandler').info( - 'GCode received: ' + self.uploadFilename) + self.get_ctrl().preplanner.invalidate(self.uploadFilename) + self.get_ctrl().state.add_file('EgZjaHJvbWUqCggBEAAYsQMYgAQyBggAEEUYOTIKCAE'+self.uploadFilename) + self.get_log('FileHandler').info( + 'GCode received: ' + self.uploadFilename) + else: + filename = self.get_upload(self.uploadFilename).encode('utf8') + safe_remove(filename) + self.get_log('FileHandler').info('uploadFile.name ' + self.uploadFile.name) + os.link(self.uploadFile.name, filename) + + self.uploadFile.close() + + del (self.uploadFile) + + self.get_ctrl().preplanner.invalidate(self.uploadFilename) + self.get_ctrl().state.add_file(self.uploadFilename) + self.get_log('FileHandler').info( + 'GCode received: ' + self.uploadFilename) del (self.uploadFilename) diff --git a/src/py/bbctrl/State.py b/src/py/bbctrl/State.py index 6e55c56..c86adaa 100644 --- a/src/py/bbctrl/State.py +++ b/src/py/bbctrl/State.py @@ -157,14 +157,22 @@ class State(object): def add_file(self, filename): - self.log.info('filename %s' % filename) - files = copy.deepcopy(self.get('files')) - if not filename in files: - files.append(filename) - files.sort() - self.set('files', files) - self.select_file(filename) - + if filename.startswith('EgZjaHJvbWUqCggBEAAYsQMYgAQyBggAEEUYOTIKCAE'): + self.uploadFilename.replace('EgZjaHJvbWUqCggBEAAYsQMYgAQyBggAEEUYOTIKCAE','') + self.log.info('filename %s' % filename) + files = copy.deepcopy(self.get('files')) + if not filename in files: + files.append(filename) + files.sort() + self.set('files', files) + else: + self.log.info('filename %s' % filename) + files = copy.deepcopy(self.get('files')) + if not filename in files: + files.append(filename) + files.sort() + self.set('files', files) + self.select_file(filename) def remove_file(self, filename): files = copy.deepcopy(self.get('files'))