Beispiel #1
0
 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()
Beispiel #2
0
	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()
Beispiel #3
0
	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()
Beispiel #4
0
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()