def is_name(self, name): file_list = zip_lsdir(os.path.join(get_sim_path(), "sim.gpvdm")) files = [] for i in range(0, len(file_list)): if inp_issequential_file(file_list[i], self.base_file_name[0]) == True: sim_name = inp_get_token_value(file_list[i], self.name_token) sim_name = sim_name.split("@")[0] if sim_name == name: return True return False
def callback_enable(self): file_list = zip_lsdir(os.path.join(get_sim_path(), "sim.gpvdm")) for i in range(0, len(file_list)): if inp_issequential_file(file_list[i], self.base_file_name[0]) == True: inp_update_token_value(file_list[i], "#tab_enabled", "false") tab = self.notebook_pointer.currentWidget() inp_update_token_value(os.path.join(get_sim_path(), tab.file_name), "#tab_enabled", "true") self.enabled.set_value(True)
def get_scans(self): scan_dirs = [] f = inp(file_path=os.path.join(self.path, "sim.gpvdm")) ls = f.lsdir() #print(ls) for scan_file in ls: if inp_issequential_file(scan_file, "scan") == True: s = scan_io() s.load(os.path.join(self.path, scan_file)) scan_dirs.append(s) return scan_dirs
def load_tabs(self): files = [] file_list = zip_lsdir(os.path.join(get_sim_path(), "sim.gpvdm")) for i in range(0, len(file_list)): if inp_issequential_file(file_list[i], self.base_file_name[0]) == True: name = inp_get_token_value(file_list[i], self.name_token) name = name.split("@")[0] files.append([name, file_list[i]]) files.sort() for i in range(0, len(files)): self.added.emit(files[i][1])
def import_archive(src_archive,dest_archive,only_over_write): if src_archive.endswith('.opvdm')==False: print "I can only import from .opvdm files" return if dest_archive.endswith('.opvdm')==False: print "I can only import to .opvdm files" return src_dir=os.path.dirname(src_archive) dest_dir=os.path.dirname(dest_archive) files=[ "sim.inp", "device.inp", "stark.inp" ,"shg.inp" ,"jv.inp" , "optics.inp", "math.inp", "dump.inp" , "light.inp", "server.inp", "light_exp.inp" ] for my_file in files: print "Importing",my_file,"to",dest_archive copy_check_ver(dest_archive,src_archive,my_file,only_over_write,True) files=["info.inp"] print src_archive ls=zip_lsdir(src_archive) for i in range(0,len(ls)): if inp_issequential_file(ls[i],"dos"): files.append(ls[i]) if inp_issequential_file(ls[i],"pl"): files.append(ls[i]) if inp_issequential_file(ls[i],"time_mesh_config"): files.append(ls[i]) if inp_issequential_file(ls[i],"pulse"): files.append(ls[i]) for my_file in files: print "Importing",my_file,"to",dest_archive copy_check_ver(dest_archive,src_archive,my_file,False,True) files=[ "epitaxy.inp", "fit.inp", "constraints.inp","duplicate.inp", "thermal.inp","mesh.inp" ] ls=zip_lsdir(src_archive) for i in range(0,len(ls)): if inp_issequential_file(ls[i],"h**o"): files.append(ls[i]) if inp_issequential_file(ls[i],"lumo"): files.append(ls[i]) for my_file in files: print "Importing",my_file copy_check_ver(dest_archive,src_archive,my_file,only_over_write,False) import_scan_dirs(dest_dir,src_dir)
def merge_archives(src_archive,dest_archive,only_over_write): # src_dir=os.path.dirname(src_archive) # dest_dir=os.path.dirname(dest_archive) template_archive=os.path.join(get_inp_file_path(),"sim.gpvdm") remove_non_used_index_files(dest_archive,src_archive) files=[ "sim.inp", "device.inp", "led.inp","stark.inp" ,"shg.inp" ,"jv.inp" , "math.inp", "dump.inp", "dump_file.inp" , "light.inp", "server.inp", "light_exp.inp","info.inp","config.inp" ] base_file=files[:] print(src_archive) ls=zip_lsdir(src_archive) for i in range(0,len(ls)): if inp_issequential_file(ls[i],"dos"): files.append(ls[i]) base_file.append(os.path.join(get_materials_path(),"generic","dos.inp")) if inp_issequential_file(ls[i],"pl"): files.append(ls[i]) base_file.append(os.path.join(get_materials_path(),"generic","pl.inp")) if inp_issequential_file(ls[i],"pulse"): files.append(ls[i]) base_file.append("pulse0.inp") if inp_issequential_file(ls[i],"laser"): files.append(ls[i]) base_file.append("laser0.inp") for i in range(0,len(files)): print("Importing",files[i],"to",dest_archive,template_archive,base_file[i]) if only_over_write==False: if archive_isfile(dest_archive,files[i])==False: if archive_copy_file(dest_archive,files[i],template_archive,base_file[i])==False: print("problem copying",template_archive,base_file[i]) print("made new file",dest_archive,files[i]) ret=archive_merge_file(dest_archive,src_archive,files[i]) print("merged",dest_archive,src_archive,files[i],ret) files=[ "epitaxy.inp", "fit.inp", "constraints.inp","duplicate.inp", "thermal.inp","mesh_x.inp","mesh_y.inp","mesh_z.inp" ] base_file=files[:] ls=zip_lsdir(src_archive) for i in range(0,len(ls)): if inp_issequential_file(ls[i],"time_mesh_config"): files.append(ls[i]) base_file.append("time_mesh_config0.inp") if inp_issequential_file(ls[i],"h**o"): files.append(ls[i]) base_file.append("homo0.inp") if inp_issequential_file(ls[i],"lumo"): files.append(ls[i]) base_file.append("lumo0.inp") for i in range(0,len(files)): print("Importing",files[i]) template_ver=archive_get_file_ver(template_archive,base_file[i]) src_ver=archive_get_file_ver(src_archive,files[i]) print(template_ver,src_ver,template_ver==src_ver,template_archive,files[i],src_archive) if template_ver!="" and src_ver!="": if template_ver==src_ver: archive_copy_file(dest_archive,files[i],src_archive,files[i]) print("complex copy",dest_archive,files[i],src_archive,files[i])