def on_done(self, index): if index == -1: return sel_path = self.path_list[index] if arduino.isSketchFolder(sel_path): example_name = os.path.split(sel_path)[1] sketchbook_root = arduino_info.getSketchbookRoot() new_path = os.path.join(sketchbook_root, example_name) if os.path.exists(new_path): org_msg = '%(Sketch_Exists)s' msg = org_msg % cur_lang.getDisplayTextDict() sublime.message_dialog(msg) version = arduino_info.getVersion() if version >= 100: example_file = example_name + '.ino' else: example_file = example_name + '.pde' file_path = os.path.join(sel_path, example_file) view = self.window.open_file(file_path) else: shutil.copytree(sel_path, new_path, True) cur_menu.sketchbookUpdate() utils.openSketch(new_path) else: (self.level, self.path_list) = utils.enterNext(index, self.level, self.top_path_list, sel_path) file_list = utils.getFileList(self.path_list) self.window.show_quick_panel(file_list, self.on_done)
def run(self, menu_str): example = menu_str example_path = arduino_info.getExampleFolder(example) if arduino.isSketchFolder(example_path): example_name = os.path.split(example_path)[1] sketchbook_root = arduino_info.getSketchbookRoot() new_path = os.path.join(sketchbook_root, example_name) if os.path.exists(new_path): org_msg = '%(Sketch_Exists)s' msg = org_msg % cur_lang.getDisplayTextDict() sublime.message_dialog(msg) version = arduino_info.getVersion() if version >= 100: example_file = example_name + '.ino' else: example_file = example_name + '.pde' file_path = os.path.join(example_path, example_file) view = self.window.open_file(file_path) else: shutil.copytree(example_path, new_path, True) cur_menu.sketchbookUpdate() utils.openSketch(new_path) else: file_list = utils.listDir(example_path) self.level = 0 self.top_path_list = [os.path.join(example_path, cur_file) for cur_file in file_list] self.path_list = self.top_path_list self.window.show_quick_panel(file_list, self.on_done)
def on_done(self, input_text): sketchbook_root = arduino_info.getSketchbookRoot() is_new = True sketch_name = utils.regFilename(input_text) if sketch_name: sketch_folder_path = os.path.join(sketchbook_root, sketch_name) if os.path.exists(sketch_folder_path): org_msg = '%(Sketch_Exists)s' msg = org_msg % cur_lang.getDisplayTextDict() is_new = sublime.ok_cancel_dialog(msg) else: is_new = False if is_new: if not os.path.exists(sketch_folder_path): os.mkdir(sketch_folder_path) sketch_file_name = '%s.ino' % sketch_name sketch_file_path = os.path.join(sketch_folder_path, sketch_file_name) # Write Sketch File plugin_root = utils.getPluginRoot() template_dir = os.path.join(plugin_root, 'template') temp_path = os.path.join(template_dir, 'sketch') temp_file = open(temp_path, 'r') sketch = temp_file.read() temp_file.close() utils.writeFile(sketch_file_path, sketch) cur_menu.sketchbookUpdate() #open a new window for new project utils.openSketch(sketch_folder_path) else: org_caption = '%(Name_for_new_sketch:)s' caption = org_caption % cur_lang.getDisplayTextDict() self.window.show_input_panel(caption, '', self.on_done, None, self.on_cancel)
def run(self, menu_str): sketch = menu_str sketch_folder = arduino_info.getSketchFolder(sketch) utils.openSketch(sketch_folder)