def load_existing_modules(self): for(dirpath, dirnames, filenames) in os.walk(self.workspace): print("load existing modules") for file in filenames: if(file[-2:] == "py"): abs_path = os.path.abspath(os.path.join(dirpath, file)) first_classname = Module.get_first_classname(abs_path) if first_classname is not None: new_module = Module(self.workspace, title=file, main_class=first_classname) self.add_module(new_module, alert_collision=False) else: print("Can't found class in file " + file) break self.load_edges() self.load_existing_placement() self.redraw()
def new_module_action(self): new_module_dialog = TextDialog(self.window, "Choose new class name", "Class name", optional_field_name="Parent class", opt_placeholder="<module.Class>") self.window.wait_window(new_module_dialog.dialog) if new_module_dialog.field_value is not None: new_module = Module(self.window.workspace, main_class=new_module_dialog.field_value) opt_value = new_module_dialog.opt_field_value if opt_value is not None and opt_value != "" and re.search("\.", opt_value) is not None and re.search("\<", opt_value) is None: parent_info = new_module_dialog.opt_field_value.replace(" ", "").split(".") new_module.parent_classes.append(parent_info[1]) new_module.imports = parent_info new_module.create_python_module() new_module.init_file_module() self.schema_module.add_module(new_module) self.schema_module.refresh()