def on_new_materials_clicked(self): new_sim_name = dlg_get_text(_("New material name:"), _("New material name"), "organic_material") new_sim_name = new_sim_name.ret if new_sim_name != None: new_material = os.path.join(self.dialog.viewer.path, new_sim_name) clone_material( new_material, os.path.join(get_base_material_path(), "generic", "air")) self.dialog.viewer.fill_store()
def on_new_materials_clicked(self): new_sim_name=dlg_get_text( _("New material name:"), _("New material name"),"organic_material") new_sim_name=new_sim_name.ret if new_sim_name!=None: new_material=os.path.join(self.dialog.viewer.path,new_sim_name) ret=clone_material(new_material,os.path.join(get_base_material_path(),"generic","air")) if ret==False: error_dlg(self,_("I cant write to:")+new_material+" "+_("This means either the disk is full or your system administrator has not given you write permissions to that location.")) self.dialog.viewer.fill_store()
def callback_menu(self,event): if self.enable_menu==False: return menu = QMenu(self) newmaterialAction=False newspectraAction=False newdirAction = menu.addAction(_("New directory")) if self.menu_new_material_enabled==True: newmaterialAction = menu.addAction(_("New material")) if self.menu_new_spectra_enabled==True: newspectraAction = menu.addAction(_("New spectra")) deleteAction = menu.addAction(_("Delete file")) renameAction = menu.addAction(_("Rename")) renameAction.setEnabled(False) deleteAction.setEnabled(False) if len(self.selectedItems())==1: renameAction.setEnabled(True) if len(self.selectedItems())>0: deleteAction.setEnabled(True) action = menu.exec_(self.mapToGlobal(event)) if action == newdirAction: new_sim_name=dlg_get_text( _("New directory name:"), _("New directory"),"document-new") new_sim_name=new_sim_name.ret if new_sim_name!=None: name=os.path.join(self.path,new_sim_name) os.mkdir(name) elif action == newmaterialAction: new_sim_name=dlg_get_text( _("New material name:"), _("New material name"),"organic_material") new_sim_name=new_sim_name.ret if new_sim_name!=None: new_material=os.path.join(self.path,new_sim_name) clone_material(new_material,os.path.join(get_base_material_path(),"generic","generic_organic")) elif action == newspectraAction: new_sim_name=dlg_get_text( _("New spectra name:"), _("New spectra name"),"spectra_file") new_sim_name=new_sim_name.ret if new_sim_name!=None: new_material=os.path.join(self.path,new_sim_name) clone_spectra(new_material,get_base_spectra_path()) elif action == deleteAction: files="" for i in self.selectedItems(): files=files+os.path.join(self.path,i.text())+"\n" ret=yes_no_dlg(self,_("Are you sure you want to delete the files ?")+"\n\n"+files) if ret==True: for i in self.selectedItems(): file_to_remove=os.path.join(self.path,i.text()) gpvdm_delete_file(file_to_remove) elif action == renameAction: old_name=self.currentItem().text() new_sim_name=dlg_get_text( _("Rename:"), self.currentItem().text(),"rename") new_sim_name=new_sim_name.ret if new_sim_name!=None: new_name=os.path.join(self.path,new_sim_name) old_name=os.path.join(self.path,old_name) #print(old_name, new_name) os.rename(old_name, new_name) self.fill_store()
def pvlighthouse_sync(): driver = webdriver.Firefox() #driver.get("https://www.rodmack.com/index.html&one=1") driver.get( "https://www2.pvlighthouse.com.au/resources/photovoltaic%20materials/refractive%20index/refractive%20index.aspx" ) time.sleep(5) elem = driver.find_element_by_name("btnAcknowledge") elem.click() html_source = driver.page_source.split("\n") lines = extract_materials(html_source, occurrence_to_extract=0) for i in range(0, len(lines)): mat_name = lines[i] if os.path.isdir( os.path.join(get_materials_path(), "pvlighthouse.com.au", mat_name)) == False: print("doing", mat_name) driver.find_element_by_xpath( "//select[@name='TabContainer1$TabPanel1$DataPageMaterial']/option[text()=\"" + lines[i] + "\"]").click() time.sleep(5) measurments = extract_sub_materials(driver) print(measurments) for ii in range(0, len(measurments)): print("doing", measurments[ii]) driver.find_element_by_xpath( "//select[@name='TabContainer1$TabPanel1$DataPageSpecifics']/option[text()=\"" + measurments[ii] + "\"]").click() time.sleep(5) clean_measurment_name = measurments[ii].replace("[", "") clean_measurment_name = clean_measurment_name.replace("]", "") clean_measurment_name = clean_measurment_name.replace(" ", "_") clean_measurment_name = clean_measurment_name.replace("(", "") clean_measurment_name = clean_measurment_name.replace(")", "") #extract_details(driver) html_source = driver.page_source.split("\n") src_dir = get_materials_path() pvlighthouse = os.path.join(get_materials_path(), "pvlighthouse.com.au") if os.path.isdir(pvlighthouse) == False: os.mkdir(pvlighthouse) src_file = os.path.join(src_dir, "generic", "air") dest_file = os.path.join(pvlighthouse, mat_name, clean_measurment_name) clone_material(dest_file, src_file) extract_ref(os.path.join(src_file, "sim.gpvdm"), driver) extract_data(os.path.join(src_file, "sim.gpvdm"), driver) time.sleep(5) else: print("done already", mat_name) driver.close()