def load_new_instance(self, libraryname, componentname, componentversion, instancename): """ Load a new component from library """ project = self.parent # verify component name if project.name == instancename: raise PodError( "Instance name can't be " + "the same name as projectname", 0) # test if component exist if not sy.file_exist( project.library.library_path(libraryname) + "/" + componentname): raise PodError( "No component with name " + libraryname + "." + componentname, 0) # test if several componentversion if componentversion is None: if len(project.get_components_versions(libraryname, componentname)) > 1: raise PodError( "Component version must be chosen :" + str( project.get_components_versions( libraryname, componentname)), 0) else: try: componentversion = project.get_components_versions( libraryname, componentname)[0] except IndexError: raise PodError("No xml description of component", 0) if instancename is None: instancename =\ componentname + "%02d" %\ len(project.get_instances_list_of_component(componentname)) # copy and rename directory sy.cp_dir( project.library.library_path(libraryname) + "/" + componentname, self.parent.projectpath + COMPONENTSPATH) try: sy.rename_dir( self.parent.projectpath + COMPONENTSPATH + "/" + componentname, self.parent.projectpath + COMPONENTSPATH + "/" + instancename) except PodError: # if directory exist pass # Rename xml file sy.rename_file( self.parent.projectpath + COMPONENTSPATH + "/" + instancename + "/" + componentversion + XMLEXT, self.parent.projectpath + COMPONENTSPATH + "/" + instancename + "/" + instancename + XMLEXT) # load component self.load(instancename) # Connect platform connection self.autoconnect_pins()
def load_new_instance(self, libraryname, componentname, componentversion, instancename): """ Load a new component from library """ project = self.parent # verify component name if project.name == instancename: raise PodError("Instance name can't be " + "the same name as projectname", 0) # test if component exist if not sy.file_exist(project.library.library_path(libraryname) + "/" + componentname): raise PodError("No component with name " + libraryname + "." + componentname, 0) # test if several componentversion if componentversion is None: if len(project.get_components_versions(libraryname, componentname)) > 1: raise PodError("Component version must be chosen :" + str(project.get_components_versions( libraryname, componentname)), 0) else: try: componentversion = project.get_components_versions( libraryname, componentname)[0] except IndexError: raise PodError("No xml description of component", 0) if instancename is None: instancename =\ componentname + "%02d" %\ len(project.get_instances_list_of_component(componentname)) # copy and rename directory sy.cp_dir(project.library.library_path(libraryname) + "/" + componentname, self.parent.projectpath + COMPONENTSPATH) try: sy.rename_dir(self.parent.projectpath + COMPONENTSPATH + "/" + componentname, self.parent.projectpath + COMPONENTSPATH + "/" + instancename) except PodError: # if directory exist pass # Rename xml file sy.rename_file(self.parent.projectpath + COMPONENTSPATH + "/" + instancename + "/" + componentversion + XMLEXT, self.parent.projectpath + COMPONENTSPATH + "/" + instancename + "/" + instancename + XMLEXT) # load component self.load(instancename) # Connect platform connection self.autoconnect_pins()
def copy_bsp_drivers(self): """ delete all directories under POD dir, then copy drivers in.""" bspdir = self.get_bsp_dir() if bspdir is None: raise PodError("Set directory before", 0) # deleting all directory in POD dir sy.del_all_dir(bspdir) for directory in \ sy.list_dir(self.project.projectpath + DRIVERSPATH + "/"): sy.cp_dir(self.project.projectpath + DRIVERSPATH + "/" + directory, self.get_bsp_dir())