Best Python code snippet using playwright-python
main.py
Source: main.py
1"""2iContact3Add contact4Search contact5Author: @HomeOfCoding6"""7from tkinter import *8from tkinter import END9from string import capwords10import re11app = Tk()12# ___________________________13# Page Defaults14A12b = 'arial', 12, 'bold'15A12 = 'arial', 1216A10 = 'arial', 1017BG = '#fff'18FG = '#296296'19# ___________________________20# Functions21def search_data():22 textarea.config(fg=FG, state='normal')23 textarea.delete(1.0, END)24 # Getters25 get_search = capwords(search_input.get())26 filename = 'iContacts'27 with open(filename) as f_read:28 for line in f_read:29 if get_search in line:30 textarea.insert(END, line)31 32 search_entry.delete(0, END)33 search_entry.focus()34def submit_data(*args):35 textarea.delete(1.0, END)36 textarea.config(fg=FG)37 # Getters38 get_first = capwords(first_input.get())39 get_last = capwords(last_input.get())40 get_age = capwords(age_input.get())41 get_area = capwords(area_input.get())42 get_email = capwords(email_input.get())43 if get_first == '':44 textarea.config(fg='red', state='normal')45 textarea.insert(1.0, 'Please enter first name *required')46 first_entry.focus()47 first_entry.config(highlightcolor='red')48 elif get_last == '':49 textarea.config(fg='red', state='normal')50 textarea.insert(1.0, 'Please enter last name *required')51 last_entry.focus()52 last_entry.config(highlightcolor='red')53 elif get_age == '':54 textarea.config(fg='red', state='normal')55 textarea.insert(1.0, 'Please enter age *required')56 age_entry.focus()57 age_entry.config(highlightcolor='red')58 elif get_area == '':59 textarea.config(fg='red', state='normal')60 textarea.insert(1.0, 'Please enter location *required')61 area_entry.focus()62 area_entry.config(highlightcolor='red')63 elif get_email == '':64 textarea.config(fg='red', state='normal')65 textarea.insert(1.0, 'Please enter email *required')66 email_entry.focus()67 email_entry.config(highlightcolor='red')68 else:69 # Validate email input here..70 validate_email = get_email71 pattern = re.compile(r"^[a-zA-Z0-9]+([a-zA-Z0-9]+[\.-]"\72 "[a-zA-Z0-9]+)?@([a-zA-Z0-9\d-])"\73 "+\.([a-zA-Z]{2,15})(\.[a-zA-Z]{2,8})?$")74 matches = pattern.search(validate_email)75 # If Email Address is Valid76 if matches:77 textarea.config(fg=FG)78 try:79 # Write to File80 filename = 'iContacts'81 with open(filename, 'a') as f_append:82 f_append.write('Name: ' + get_first + ' ' + get_last + '\n' + \83 get_first + '\'s Age: ' + get_age + '\n' + \84 get_first + '\'s Area: ' + get_area + '\n' + \85 get_first + '\'s Email: ' + get_email + \86 '\n\n---------------------\n\n')87 88 # Show Content on Screen89 textarea.config(fg=FG, state='normal')90 textarea.insert(1.0, 'Data saved successfully!\n\n' + \91 'Name: ' + get_first + ' ' + get_last + '\n' + \92 get_first + '\'s Age: ' + get_age + '\n' + \93 get_first + '\'s Area: ' + get_area + '\n' + \94 get_first + '\'s Email: ' + get_email)95 search_entry.delete(0, END)96 first_entry.delete(0, END)97 last_entry.delete(0, END)98 age_entry.delete(0, END)99 area_entry.delete(0, END)100 email_entry.delete(0, END)101 first_entry.focus()102 except:103 textarea.insert(1.0, 'Sorry!\nData not saved\nPlease try again')104 105 else:106 textarea.insert(1.0, 'Email is not valid')107 textarea.config(fg='red')108 email_entry.focus()109# ___________________________110# Getters111search_input = StringVar()112first_input = StringVar()113last_input = StringVar()114age_input = StringVar()115area_input = StringVar()116email_input = StringVar()117# ___________________________118# Page119# Main Frame (search)120main_frame = Frame(app, bg=BG)121main_frame.pack(ipady=20)122# Search Label123search_label = Label(main_frame, text='Search ', bg=BG, fg=FG, font=A12)124search_label.pack(side='left')125# Search Entry126search_entry = Entry(main_frame, bg=BG, fg=FG, font=A12, \127 highlightcolor=FG, textvariable=search_input)128search_entry.pack(side='left', ipady=1)129# Search Button130search_btn = Button(main_frame, text='GO', bg=FG, fg=BG, font=A10, \131 border=0, relief='flat', command=search_data)132search_btn.pack(side='left')133# ____________________________________________________________________134# Main Frame (separator)135main_frame = Frame(app, bg=FG)136main_frame.pack(fill='x', padx=40, ipady=1)137# ____________________________________________________________________138# ___________________________139# Main Frame (for: add contact label)140main_frame = Frame(app, bg=BG)141main_frame.pack(fill='x', padx=40, ipady=20)142# Add Contact Label143contact_label = Label(main_frame, text='Add Contact', bg=BG, fg=FG, font=A12b)144contact_label.pack(side='left')145# ___________________________146# Main Frame (first name)147main_frame = Frame(app, bg=BG)148main_frame.pack(ipady=2)149# First Name Label150first_label = Label(main_frame, text='First: ', bg=BG, fg=FG, font=A12)151first_label.pack(side='left', padx=(12, 0))152# First Name Entry153first_entry = Entry(main_frame, bg=BG, fg=FG, font=A12, \154 highlightcolor=FG, textvariable=first_input)155first_entry.focus()156first_entry.pack(side='left', ipady=1)157# ___________________________158# Main Frame (last name)159main_frame = Frame(app, bg=BG)160main_frame.pack(ipady=2)161# Last Name Label162last_label = Label(main_frame, text='Last: ', bg=BG, fg=FG, font=A12)163last_label.pack(side='left', padx=(12, 0))164# Last Name Entry165last_entry = Entry(main_frame, bg=BG, fg=FG, font=A12, \166 highlightcolor=FG, textvariable=last_input)167last_entry.pack(side='left', ipady=1)168# ___________________________169# Main Frame (age)170main_frame = Frame(app, bg=BG)171main_frame.pack(ipady=2)172# Age Label173age_label = Label(main_frame, text='Age: ', bg=BG, fg=FG, font=A12)174age_label.pack(side='left', padx=(12, 0))175# Age Entry176age_entry = Entry(main_frame, bg=BG, fg=FG, font=A12, \177 highlightcolor=FG, textvariable=age_input)178age_entry.pack(side='left', padx=(1, 0), ipady=1)179# ___________________________180# Main Frame (area)181main_frame = Frame(app, bg=BG)182main_frame.pack(ipady=2)183# Area Label184age_label = Label(main_frame, text='Area: ', bg=BG, fg=FG, font=A12)185age_label.pack(side='left', padx=(8, 0))186# Area Entry (location)187area_entry = Entry(main_frame, bg=BG, fg=FG, font=A12, \188 highlightcolor=FG, textvariable=area_input)189area_entry.pack(side='left', padx=(1, 0), ipady=1)190# ___________________________191# Main Frame (email)192main_frame = Frame(app, bg=BG)193main_frame.pack(ipady=2)194# Email Label195email_label = Label(main_frame, text='Email: ', bg=BG, fg=FG, font=A12)196email_label.pack(side='left')197# Email Entry198email_entry = Entry(main_frame, bg=BG, fg=FG, font=A12, \199 highlightcolor=FG, textvariable=email_input)200email_entry.pack(side='left', padx=(3, 0), ipady=1)201# ___________________________202# Main Frame (textarea)203main_frame = Frame(app, bg=BG)204main_frame.pack(pady=(20, 0))205# Text Widget (textarea)206textarea = Text(main_frame, width=36, height=17, bg=BG, fg=FG, font=A12, \207 border=0, state='disabled')208textarea.pack(padx=(90, 0))209# Main Frame (submit button)210main_frame = Frame(app, bg=BG)211main_frame.pack(side='bottom', fill='x')212# Submit Button213sub_btn = Button(main_frame, text='Submit', bg=FG, fg=BG, font=A12, \214 border=0, relief='flat', command=submit_data)215app.bind('<Return>', submit_data)216sub_btn.pack(fill='both', ipady=8)217# ___________________________218# Root Defaults219if __name__ == '__main__':220 app.title('iContact')221 app.geometry('550x660+0-32')222 app.resizable(False, False)...
register.py
Source: register.py
1from tkinter import *2from tkinter import ttk3from PIL import ImageTk,Image4from tkinter import messagebox5import mysql.connector6class Register_Window:7 def __init__(self,root):8 self.root=root9 self.root.title("Hotel Management System")10 self.root.geometry("1600x900+0+0")11 # """""""""""""""""""""""Variables""""""""""""""""""""""""12 13 self.var_fname = StringVar()14 self.var_lname = StringVar()15 self.var_contactno = StringVar()16 self.var_email = StringVar()17 self.var_securityQ = StringVar()18 self.var_securityA = StringVar()19 self.var_password = StringVar()20 self.var_confirmPassword = StringVar()21 # """""""""""""""""""""""Image1""""""""""""""""""""""""22 img1 = Image.open(r"D:\Python MiniProject\images\villaregister.jpg")23 img1 = img1.resize((1550,800),Image.ANTIALIAS)24 self.photoimg1 = ImageTk.PhotoImage(img1)25 lblimg = Label(self.root,image=self.photoimg1,bd=0,relief=RIDGE)26 lblimg.place(x=0,y=0,width=1550,height=800)27 # """""""""""""""""""""""Left Image""""""""""""""""""""""""28 img2 = Image.open(r"D:\Python MiniProject\images\leftvillaregister.jpg")29 img2 = img2.resize((470,550),Image.ANTIALIAS)30 self.photoimg2 = ImageTk.PhotoImage(img2)31 lblimg2 = Label(self.root,image=self.photoimg2,bd=0,relief=RIDGE)32 lblimg2.place(x=50,y=100,width=470,height=550)33 # """""""""""""""""""""""Frame""""""""""""""""""""""""34 main_frame = Frame(self.root,bg="black")35 main_frame.place(x=520,y=100,width=800,height=550)36 # """""""""""""""""""""""Labels and Entry""""""""""""""""""""""""37 lbl_title = Label(main_frame,text="Register Here",font=("times new roman",20,"bold"),bg="black",fg="#c90ffc",bd=0,relief=RIDGE)38 lbl_title.place(x=20,y=20)39 lbl_fname = Label(main_frame,text="First Name",font=("times new roman",15,"bold"),bg="#000",fg="#d640ff",bd=0,relief=RIDGE)40 lbl_fname.place(x=50,y=100)41 self.entry_fname = ttk.Entry(main_frame,textvariable=self.var_fname,font=("times new roman",15,"bold"))42 self.entry_fname.place(x=50,y=130,width=250)43 lbl_lname = Label(main_frame,text="Last Name",font=("times new roman",15,"bold"),bg="#000",fg="#d640ff",bd=0,relief=RIDGE)44 lbl_lname.place(x=370,y=100)45 self.entry_lname = ttk.Entry(main_frame,textvariable=self.var_lname,font=("times new roman",15,"bold"))46 self.entry_lname.place(x=370,y=130,width=250)47 lbl_contactno = Label(main_frame,text="Contact No",font=("times new roman",15,"bold"),bg="#000",fg="#d640ff",bd=0,relief=RIDGE)48 lbl_contactno.place(x=50,y=170)49 self.entry_contactno = ttk.Entry(main_frame,textvariable=self.var_contactno,font=("times new roman",15,"bold"))50 self.entry_contactno.place(x=50,y=200,width=250)51 lbl_Email = Label(main_frame,text="Email",font=("times new roman",15,"bold"),bg="#000",fg="#d640ff",bd=0,relief=RIDGE)52 lbl_Email.place(x=370,y=170)53 self.entry_Email = ttk.Entry(main_frame,textvariable=self.var_email,font=("times new roman",15,"bold"))54 self.entry_Email.place(x=370,y=200,width=250)55 lbl_SecurityQuestion = Label(main_frame,text="Security Question",font=("times new roman",15,"bold"),bg="#000",fg="#d640ff",bd=0,relief=RIDGE)56 lbl_SecurityQuestion.place(x=50,y=240)57 combo_SecurityQuestion = ttk.Combobox(main_frame,textvariable=self.var_securityQ,font=("times new roman",15,"bold"),state="readonly")58 combo_SecurityQuestion["value"] = ("Select","Your Birth Place","Your Pet Name","Your Favourite Thing")59 combo_SecurityQuestion.current(0)60 combo_SecurityQuestion.place(x=50,y=270,width=250)61 lbl_SecurityAnswer = Label(main_frame,text="Security Answer",font=("times new roman",15,"bold"),bg="#000",fg="#d640ff",bd=0,relief=RIDGE)62 lbl_SecurityAnswer.place(x=370,y=240)63 self.entry_SecurityAnswer = ttk.Entry(main_frame,textvariable=self.var_securityA,font=("times new roman",15,"bold"))64 self.entry_SecurityAnswer.place(x=370,y=270,width=250)65 lbl_Password = Label(main_frame,text="Password",font=("times new roman",15,"bold"),bg="#000",fg="#d640ff",bd=0,relief=RIDGE)66 lbl_Password.place(x=50,y=310)67 self.entry_Password = ttk.Entry(main_frame,textvariable=self.var_password,font=("times new roman",15,"bold"),show="*")68 self.entry_Password.place(x=50,y=340,width=250)69 lbl_ConfirmPassword = Label(main_frame,text="Confirm Password",font=("times new roman",15,"bold"),bg="#000",fg="#d640ff",bd=0,relief=RIDGE)70 lbl_ConfirmPassword.place(x=370,y=310)71 self.entry_ConfirmPassword = ttk.Entry(main_frame,textvariable=self.var_confirmPassword,font=("times new roman",15,"bold"),show="*")72 self.entry_ConfirmPassword.place(x=370,y=340,width=250)73 # """""""""""""""""""""""Labels and Entry""""""""""""""""""""""""74 self.var_checkbtn = IntVar()75 checkBtn = Checkbutton(main_frame,text="I Agree to all Terms and Conditions!",variable=self.var_checkbtn,font=("times new roman",12,"bold"),bg="#000",fg="#d640ff",activeforeground="#d640ff",activebackground="#000",onvalue=1,offvalue=0)76 checkBtn.place(x=45,y=380)77 # """""""""""""""""""""""ButtonImages""""""""""""""""""""""""78 buttonRegister = Button(main_frame,text="Register Now",command=self.Register_data,font=("times new roman",12,"bold"),borderwidth=0,bg="#9417c2",fg="white",width=10,cursor="hand2",activebackground="#a927d9",activeforeground="white")79 buttonRegister.place(x=50,y=420,width=200)80 lbl_ConfirmPassword = Label(main_frame,text="Already Have An Account?",font=("times new roman",12,"bold"),bg="#000",fg="#d640ff",bd=0,relief=RIDGE)81 lbl_ConfirmPassword.place(x=370,y=380)82 buttonlogin = Button(main_frame,text="Login Now",font=("times new roman",12,"bold"),borderwidth=0,bg="#9417c2",fg="white",width=10,cursor="hand2",activebackground="#a927d9",activeforeground="white")83 buttonlogin.place(x=370,y=420,width=200)84 # """""""""""""""""""""""Function Declaration""""""""""""""""""""""""85 86 def Register_data(self):87 if self.var_fname.get()=="" or self.var_email.get()=="" or self.var_securityQ.get()=="Select" or self.var_securityA.get()=="":88 messagebox.showerror("Error","All Credentials are required!",parent=self.root)89 elif self.var_password.get()!=self.var_confirmPassword.get():90 messagebox.showerror("Error","Password and Confirm Password must be same!",parent=self.root)91 elif self.var_checkbtn.get()==0:92 messagebox.showerror("Error","Please Agree our Terms and Conditions!",parent=self.root)93 else:94 conn = mysql.connector.connect(host="localhost",username="root",password="yash2001",database="management")95 my_cursor = conn.cursor()96 query = ("select * from register where email=%s")97 value = (self.var_email.get(),)98 my_cursor.execute(query,value)99 row = my_cursor.fetchone()100 if row!=None:101 messagebox.showerror("Error","User Already Exists!")102 else:103 my_cursor.execute("insert into register values(%s,%s,%s,%s,%s,%s,%s)",(104 self.var_fname.get(),105 self.var_lname.get(),106 self.var_contactno.get(),107 self.var_email.get(),108 self.var_securityQ.get(),109 self.var_securityA.get(),110 self.var_password.get()111 112 ))113 conn.commit()114 conn.close()115 messagebox.showinfo("Success","Successfully Registered!!!!")116if __name__ == '__main__':117 root=Tk()118 object = Register_Window(root)...
mainframe_selection_helper.py
Source: mainframe_selection_helper.py
1#!/usr/bin/env python2#3# Copyright 2008 Google Inc.4#5# Licensed under the Apache License, Version 2.0 (the "License");6# you may not use this file except in compliance with the License.7# You may obtain a copy of the License at8#9# http://www.apache.org/licenses/LICENSE-2.010#11# Unless required by applicable law or agreed to in writing, software12# distributed under the License is distributed on an "AS IS" BASIS,13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.14# See the License for the specific language governing permissions and15# limitations under the License.16import launcher17from wxgladegen import main_frame18class MainframeSelectionHelper(object):19 """Helper class that adjusts the launcher's UI based on the selection"""20 def _EnableToolBarButtons(self, button_ids, enable):21 """Enable/Disable the toolbar buttons with the given IDs.22 Args:23 button_ids: list of toolbar button IDs to enable or disable24 enable: boolean value. True for enable a button, False to disable25 """26 toolbar = self._mainframe.GetToolBar()27 for button_id in button_ids:28 toolbar.EnableTool(button_id, enable)29 def _EnableButtons(self, button_ids, enable):30 """Enable/Disable the pushbuttons with the given IDs.31 Args:32 button_ids: list of pushbutton IDs to enable or disable33 enable: boolean value. True for enable a button, False to disable34 """35 for button_id in button_ids:36 button = self._mainframe.GetButtonByID(button_id)37 button.Enable(enable)38 def _EnableMenus(self, menu_item_ids, enable):39 """Enable/Disable the menu items with the given IDs.40 Args:41 menu_item_ids: list of menu item IDs to enable or disable42 enable: boolean value. True for enable a button, False to disable43 """44 menubar = self._mainframe.GetMenuBar()45 for menu_item_id in menu_item_ids:46 menubar.Enable(menu_item_id, enable)47 def _DisableEverything(self):48 """Disable all the controls that make sense to disable."""49 self._EnableToolBarButtons((main_frame.BROWSE_BUTTON,50 main_frame.DASHBOARD_BUTTON,51 main_frame.DEPLOY_BUTTON,52 main_frame.EDIT_BUTTON,53 main_frame.LOGS_BUTTON,54 main_frame.RUN_BUTTON,55 main_frame.SDK_CONSOLE_BUTTON,56 main_frame.STOP_BUTTON), False)57 self._EnableButtons((main_frame.MINUS_BUTTON,), False)58 self._EnableMenus((main_frame.APP_SETTINGS_MENU,59 main_frame.BROWSE_MENU,60 main_frame.DASHBOARD_MENU,61 main_frame.DEPLOY_MENU,62 main_frame.LOGS_MENU,63 main_frame.OPEN_EXTERNAL_EDITOR_MENU,64 main_frame.OPEN_FILE_BROWSER_MENU,65 main_frame.REMOVE_PROJECT_MENU,66 main_frame.RUN_MENU,67 main_frame.RUN_STRICT_MENU,68 main_frame.SDK_CONSOLE_MENU,69 main_frame.STOP_MENU), False)70 def _AnyProjectInState(self, selection, state):71 """Are any of the projects currently in the given runstate?"""72 projects = [p for p in selection if p.runstate == state]73 if projects:74 return True75 else:76 return False77 def _AnyProjectNotInState(self, selection, state):78 """Are any of the projects current not in the given runstate?"""79 projects = [p for p in selection if p.runstate != state]80 if projects:81 return True82 else:83 return False84 def _AllInvalidProjects(self, selection):85 """Are all of the projects invalid?"""86 projects = [p for p in selection if not p.valid]87 if projects == selection:88 return True89 else:90 return False91 def AdjustMainFrame(self, mainframe, selection):92 """Enable/Disable buttons, toolbar items, and menus based on the selection.93 These are the different commands, and their criteria for being enabled:94 * Run - anything selected and in stop state. Disable if all95 invalid or all running96 * Run Strict - anything selected and in stop state. Disable if97 all invalid.98 * Stop - anything selected in run, prod_run, starting state99 * Browse - anything selected and in run, prod_run100 * SDK Console - anything selected and in run, prod_run101 * Deploy - anything selected. Disable if all invalid102 * Dashboard - anything selected. Disable if all invalid103 * App Settings - anything selected. Disable if all invalid104 * Open external editor - anything selected. Disable if all invalid105 * Open file browser - anything selected. Disable if all invalid106 * Remove project - anything selected107 Args:108 mainframe: The top-level container object that holds the items to enable109 or disable.110 selection: A list of launcher.Projects. The run state and valid state111 of the projects controls what gets enabled and disabled.112 """113 self._mainframe = mainframe114 # Turn everything off, then turn on the things that should be enabled.115 self._DisableEverything()116 if not selection:117 return118 # Always enabled if anything is selected.119 self._EnableButtons((main_frame.MINUS_BUTTON,), True)120 self._EnableMenus((main_frame.REMOVE_PROJECT_MENU,), True)121 # Everything else needs at least one valid project.122 if self._AllInvalidProjects(selection):123 return124 # Now juggle stuff based on run state.125 any_not_running = self._AnyProjectNotInState(selection,126 launcher.Project.STATE_RUN)127 # Factor out constant to stay < 80 cols.128 prod_run_state = launcher.Project.STATE_PRODUCTION_RUN129 died_state = launcher.Project.STATE_DIED130 any_not_prod = self._AnyProjectNotInState(selection, prod_run_state)131 any_running = (self._AnyProjectInState(selection,132 launcher.Project.STATE_RUN) or133 self._AnyProjectInState(selection, prod_run_state) or134 self._AnyProjectInState(selection, died_state))135 any_starting = self._AnyProjectInState(selection,136 launcher.Project.STATE_STARTING)137 # These are independent of the projects' run state.138 self._EnableToolBarButtons((main_frame.EDIT_BUTTON,139 main_frame.DEPLOY_BUTTON,140 main_frame.DASHBOARD_BUTTON,141 main_frame.LOGS_BUTTON), True)142 self._EnableMenus((main_frame.APP_SETTINGS_MENU,143 main_frame.OPEN_EXTERNAL_EDITOR_MENU,144 main_frame.OPEN_FILE_BROWSER_MENU,145 main_frame.DEPLOY_MENU,146 main_frame.DASHBOARD_MENU,147 main_frame.LOGS_MENU), True)148 # Can only run if there are stopped projects.149 self._EnableToolBarButtons((main_frame.RUN_BUTTON,),150 any_not_running)151 self._EnableMenus((main_frame.RUN_MENU,), any_not_running)152 self._EnableMenus((main_frame.RUN_STRICT_MENU,), any_not_prod)153 # Can only stop running (or starting) projects.154 self._EnableToolBarButtons((main_frame.STOP_BUTTON,),155 any_running or any_starting)156 self._EnableMenus((main_frame.STOP_MENU,), any_running or any_starting)157 # Can only browse running projects.158 self._EnableToolBarButtons((main_frame.BROWSE_BUTTON,159 main_frame.SDK_CONSOLE_BUTTON), any_running)160 self._EnableMenus((main_frame.BROWSE_MENU,...
GUI_LoadScan_controller.py
Source: GUI_LoadScan_controller.py
1from tkinter import *2from tkinter.filedialog import askopenfilename3from view import LoadScan_UI4from view import main_frame5from model import ModelClassifier6from os import path7from _thread import start_new_thread8from tkinter import messagebox9from model.ShowHistogram import ShowHistogram10import os11import numpy as np12import pandas as pd13from tkinter.ttk import Frame, Button, Style, Label14import traceback15import csv16class LoadScan_controller:17 def __init__(self, master):18 self.master = master19 self.img = './view/BCIT_Logo.png'20 self.classifier = ''21 self.test_classifier = ''22 self.test_grab = []23 self.name_test_grab = []24 self.start_counter = 025 self.highest_percent_res = ''26 main_frame.current_frame = LoadScan_UI(self.master, self.img)27 main_frame.current_frame.Open_but.config(command=lambda: self.openFile())28 main_frame.current_frame.classify_but.config(command=lambda: start_new_thread(self.output_classifier, ()))29 main_frame.current_frame.show_but.config(command=lambda: self.show_mesh())30 main_frame.current_frame.hist_but.config(command=lambda: self.show_histogram())31 main_frame.current_frame.can_but.config(command=lambda: self.Exit())32 main_frame.current_frame.more_but.config(command=lambda: self.openSave())33 def openSave(self):34 print('open save')35 result = messagebox.askquestion("Add To Reference Library", "Are You Sure You Want to Add to Library?",36 icon='warning')37 check_duplicate = []38 if result == 'yes':39 print("save button clicked")40 print("grabbing loaded scan from classifier ", self.test_grab)41 with open('./model/hist_data.csv', 'r') as data:42 file_data = pd.read_csv(data, header=None, error_bad_lines=False)43 ref_lib_list = list(file_data.values)44 for each in ref_lib_list:45 if each[0] == self.classifier.matching_shape:46 print('there is a ', self.classifier.matching_shape, " in the lib!")47 check_duplicate.append(each[1:])48 for each in check_duplicate:49 print("each in check duplicate ", list(each))50 list_each = list(each)51 print('self.test_grab', self.test_grab[0])52 if list_each == self.test_grab[0]:53 messagebox.showinfo("Warning", "Entry already exists in database")54 return55 for each in self.test_grab[0]:56 print(' each is ', each)57 self.name_test_grab.append(str(each))58 emp_list = []59 emp_list.append(self.name_test_grab)60 print("new list with name ", self.name_test_grab)61 print('emp list is ', emp_list)62 print('name test grab is ', self.name_test_grab)63 with open('model/hist_data.csv', 'a') as f:64 writer = csv.writer(f, quoting=csv.QUOTE_ALL)65 for each in emp_list:66 writer.writerow(each)67 else:68 print("no")69 def openFile(self):70 """71 Opens file explorer for user to input the desired scan for classification72 """73 filename = askopenfilename(initialdir=path.join(path.dirname(path.realpath(".")), "pyscan/model/scans"),74 title="Select a file")75 if filename != "":76 fname = filename.split('/')77 main_frame.current_frame.log_File_Path.set(fname[-1])78 main_frame.current_frame.Data_listbox.insert(END, "Loaded file: {}".format(fname[-1]))79 self.classifier = ModelClassifier(filename)80 main_frame.current_frame.hist_but.config(state=NORMAL)81 main_frame.current_frame.show_but.config(state=NORMAL)82 def output_classifier(self):83 """84 Calls the classifier to process the input model85 """86 counter = 087 self.start_counter = 188 try:89 if self.classifier.mesh_object != "":90 counter = counter + 191 main_frame.current_frame.Data_listbox.insert(END, "Processing...")92 self.classifier.classify()93 print("self.classifier results", self.classifier.results[0])94 for idx in range(len(self.classifier.results[0])):95 main_frame.current_frame.Data_listbox.insert(96 END, "{0}: {1:.2f}%".format(97 self.classifier.results[0][idx], self.classifier.results[1][idx]))98 main_frame.current_frame.Data_listbox.insert(END, "Match Results:")99 main_frame.current_frame.Data_listbox.insert(END, "It is a {}!".format(self.classifier.matching_shape))100 messagebox.showinfo("Success", "It is a {}! ".format(self.classifier.matching_shape))101 self.name_test_grab.append(self.classifier.matching_shape)102 print("highest percent result type is ", self.name_test_grab)103 self.test_grab = self.classifier.highest104 main_frame.current_frame.more_but.config(state=NORMAL)105 except:106 messagebox.showinfo("Error", "Please load a scan")107 def show_histogram(self):108 """109 Asynch does not work here for some reason110 """111 if self.start_counter != 0:112 main_frame.current_frame.Data_listbox.insert(END, "Generating Histogram...")113 self.classifier.show_histogram(self.classifier.existing_data, self.classifier.data,114 self.classifier.matching_shape)115 print(type(self.classifier.existing_data), type(self.classifier.data))116 else:117 print("showing cubes")118 show_histo = ShowHistogram("hi")119 show_histo.find_shapes()120 # show_histo.show_cubes()121 print("done showing cubes")122 show_histo.compare_histogram()123 def show_mesh(self):124 """125 Displays the model126 """127 self.classifier.mesh_object.show()128 def Exit(self):129 """130 Goes back to the LoadGet UI131 """132 from .GUI_LoadGet_controller import LoadGet_controller133 LoadGet_controller(self.master)134# variation between the shapes135if __name__ == "__main__":136 root = Tk()137 frame = CorS_UI(root)138 ui = LoadGet_controller(root)...
Playwright error connection refused in docker
playwright-python advanced setup
How to select an input according to a parent sibling label
Error when installing Microsoft Playwright
Trouble waiting for changes to complete that are triggered by Python Playwright `select_option`
Capturing and Storing Request Data Using Playwright for Python
Can Playwright be used to launch a browser instance
Trouble in Clicking on Log in Google Button of Pop Up Menu Playwright Python
Scrapy Playwright get date by clicking button
React locator example
I solved my problem. In fact my docker container (frontend) is called "app" which is also domain name of fronend application. My application is running locally on http. Chromium and geko drivers force httpS connection for some domain names one of which is "app". So i have to change name for my docker container wich contains frontend application.
Check out the latest blogs from LambdaTest on this topic:
The sky’s the limit (and even beyond that) when you want to run test automation. Technology has developed so much that you can reduce time and stay more productive than you used to 10 years ago. You needn’t put up with the limitations brought to you by Selenium if that’s your go-to automation testing tool. Instead, you can pick from various test automation frameworks and tools to write effective test cases and run them successfully.
When it comes to web automation testing, there are a number of frameworks like Selenium, Cypress, PlayWright, Puppeteer, etc., that make it to the ‘preferred list’ of frameworks. The choice of test automation framework depends on a range of parameters like type, complexity, scale, along with the framework expertise available within the team. However, it’s no surprise that Selenium is still the most preferred framework among developers and QAs.
Playwright is a framework that I’ve always heard great things about but never had a chance to pick up until earlier this year. And since then, it’s become one of my favorite test automation frameworks to use when building a new automation project. It’s easy to set up, feature-packed, and one of the fastest, most reliable frameworks I’ve worked with.
The speed at which tests are executed and the “dearth of smartness” in testing are the two major problems developers and testers encounter.
With the rapidly evolving technology due to its ever-increasing demand in today’s world, Digital Security has become a major concern for the Software Industry. There are various ways through which Digital Security can be achieved, Captcha being one of them.Captcha is easy for humans to solve but hard for “bots” and other malicious software to figure out. However, Captcha has always been tricky for the testers to automate, as many of them don’t know how to handle captcha in Selenium or using any other test automation framework.
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!