def addMore(nrUsers): count = 0 firstnames = ["John","Jack","Jill","Mike","Shaun","Dan","Emily","Hellen"] lastnames = ["Moore","Doe","Snow","Anderson","Ruby","Green","Cooper"] used_emails = [] while count < nrUsers: count += 1 validEmail = False firstname = "" lastname = "" while not validEmail: firstname = firstnames[randrange(0,len(firstnames))] lastname = lastnames[randrange(0,len(lastnames))] email = ".".join([firstname, lastname]).lower() if email not in used_emails: used_emails.append(email) validEmail = True user = User(email = email + "@mydomain.nl", first_name = firstname, last_name = lastname, password = generate_password(), confirmed = 1) db.session.add(user) try: db.session.commit() except IntegrityError: print sys.exc_info() return "Error while inserting data" return "True"
def generateResults(stage = None): response = Match.all() results = [] for match in response: if match['round'] == int(stage): if match['player_a'] == str(-1) or match['player_b'] == str(-1): continue set_count = 0 w_a = 0 w_b = 0 while set_count < match['sets']: set_count += 1 result = generate_result() if result[0] > result[1]: w_a += 1 else: w_b += 1 r = Result(match_id = match['match_id'], set_id = set_count, result_a = result[0], result_b = result[1]) results.append(r.serialize()) db.session.add(r) if w_a == 3 or w_b == 3: break try: db.session.commit() except: print sys.exc_info() return prepare_response(None, "Error while inserting") return prepare_response(True)
def create_knockout_tournament(players): matches = build_knockout(players) for match in matches: m = Match(competition_id = match[0], match_id = match[1], player_a = match[2], player_b = match[3], round = match[4], pool = "-", nr_sets = 5) db.session.add(m) try: db.session.commit() except: print sys.exc_info() return 400 return 200
def date_seat_select(self, rd, rdur): is_complete = False # 날짜 선택 print("캠핑 날짜 : {}, 캠필 기간 : {}".format(rd, rdur)) date_link = self.driver.find_element_by_link_text(rd) # print("date_link element : {} - {}".format(date_link, type(date_link))) date_link.click() try: # 날짜 선택시 이미 예매 했다는 Alert이 뜨면서 에러 발생할 수 있음 checkin_select = Select( self.driver.find_element_by_id("SelectCheckIn")) checkin_select.select_by_visible_text(rdur) except UnexpectedAlertPresentException: alert = self.driver.switch_to.alert print("이미 예매를 함 : {}".format(alert.text)) alert.accept() return is_complete except: print("Exception : {}".format(sys.exc_info()[0])) # 자리 선택 self.driver.switch_to.frame("ifrmSeat") for sn in self.seat_nominees: try: seat = self.driver.find_element_by_xpath( "//*[contains(@title,'{}') and @class='stySeat']".format( sn)) print("캠핑 자리 : {}".format(sn)) seat.click() # # 테스트용 코드 - 원하는 시간이 될때까지 기다림 # while time.gmtime().tm_sec != 55: # print("기다림........") # time.sleep(0.2) self.driver.find_element_by_class_name("btn_next_step").click() # "다음" 버튼 클릭시 Alert창이 발생하면 Accept 처리 하고 다음 자리로 넘어가도록 처리 try: alert = self.driver.switch_to.alert print("Alert창이 뜸 : seat - {}, msg - {}".format( sn, alert.text)) alert.accept() # 이미 선택된 자리를 다시 한번 클릭하여 선택 해제 함 seat = self.driver.find_element_by_xpath( "//*[contains(@title,'{}') and @class='stySelectSeat']" .format(sn)) seat.click() continue except NoAlertPresentException: print("자리가 정상적으로 선택됨 : {}".format(sn)) is_complete = True break except NoSuchElementException: continue return is_complete
def write_employee_to_file(cls, fileName, newEmp): #print("Write employee object to file : " + fileName) try: cls.emps_from_file = Employee.read_employee_from_file(fileName) cls.emps_from_file.append(newEmp) currentFile = open(fileName, "wb") pickle.dump(cls.emps_from_file, currentFile) currentFile.close() except: print("Exception Occurred: ", sys.exc_info())
def read_employee_from_file(cls, fileName): print("Read employee object from file : " + fileName) try: cls.emps_from_file = [] currentFile = open(fileName, "rb") cls.emps_from_file = pickle.load(currentFile) currentFile.close() except: print("Exception Occurred: ", sys.exc_info()) cls.emps_from_file = [] finally: return cls.emps_from_file
def getLeftBorderFromGlass(self, lines): try: leftBorder = (self.parameterHandler.middle_left_point,0) for line in lines[0]: if line[0] < self.parameterHandler.middle_left_point: #Es wird geschaut, ob die gefundene Linie #weiter links liegt als die aktuelle :and: vertikal ist :and: nicht im ignoriertem Bereich liegt if line[0] < leftBorder[0] and line[0] == line[2] and line[0] > self.parameterHandler.left_border_ignor: leftBorder = (line[0], line[1]) continue return leftBorder except: print("getLeftBorderFromGlass fail: : ", sys.exc_info())
def run(self): try: while True: self.currentState.run() self.currentState = self.currentState.next() if self.parameterHandler.stopProgram == True: self.frameHandler.release() self.serialHandler.close() break except: print (sys.exc_info()) self.frameHandler.release() self.serialHandler.close()
def getRightBorderFromGlass(self, lines): try: rightBorder = (self.parameterHandler.middle_right_point,0) for line in lines[0]: #length = math.sqrt((line[0]-line[2])**2+(line[1]-line[3])**2) if line[0] > self.parameterHandler.middle_right_point: #Es wird geschaut, ob die gefundene Linie #weiter rechts liegt als die aktuelle :and: vertikal ist :and: nicht im ignoriertem Bereich liegt if line[0] > rightBorder[0] and line[0] == line[2] and line[0] < self.parameterHandler.right_border_ignor: rightBorder = (line[0], line[1]) continue return rightBorder except: print("getRightBorderFromGlass fail: ", sys.exc_info())
def getFoamBorder(self, contours): if DEBUG == True: print("getFoamBorder") try: foamBorder = (0, CWConstants.FRAME_HEIGHT) for cnt in contours: x,y,w,h = cv2.boundingRect(cnt) #Es wird geschaut, ob die gefundene Kontur(Linie) #weiter oben liegt als die aktuelle :and: groesser als 40 Pixel breit ist if (y < foamBorder[1] and w > 1): foamBorder = (x, y) return foamBorder except: print("BottomFoamLine: ", sys.exc_info())
def getTopBorderFromGlass(self, lines): if DEBUG == True: print("getTopBorderFromGlass") try: topBorder = (0, CWConstants.FRAME_HEIGHT) for line in lines[0]: #Es wird geschaut, ob die gefundene Linie #weiter oben liegt als die aktuelle :and: wagerecht ist :and: noch nicht initialisiert wurde if line[1] < topBorder[1] and line[1] == line[3] and topBorder[1] == CWConstants.FRAME_HEIGHT: topBorder = (line[0], line[1]) continue return topBorder except: print("TopLine fail: ", sys.exc_info())
''' Created On Jan 6, 2019 ''' from os.path import sys if __name__ == '__main__': try: num1 = int(input("Enter Number 1: ")) num2 = int(input("Enter Number 2: ")) result = num1 / num2 except ZeroDivisionError: # Known error print("Invalid number entered as input ZeroDivisionError") except ValueError: # Known error print("Invalid number entered as input ValueError") except: # For those error which are not specified print("Unexpected Error: ", sys.exc_info()) else: # Execute this if no error occurred print("Division of " + str(num1) + " and " + str(num2) + " is " + str(result)) finally: print("Try catch finally, for closing or finalizing resources using try") print("Program completed successfully") # will be executed if all the error are caught
from training.Application import Employee, SalesEmployee from os.path import sys if __name__ == '__main__': try: emp = Employee({"empno": 1000, "name": "Sameer", "salary": 23456}) emp.displayInfo() # emp.__process_salary(22) private attribute (-__) methods con not be accessed except: print("Exception Occurred: ", sys.exc_info()) else: print(emp.__str__()) print(emp) emp.displayInfo() Employee.set_max_leaves(20) # Setting the value in class level variable # should not use emp.set_max_leaves(20) try: emp1 = Employee({"empno": -1001, "name": "Amer", "salary": 45678}) emp1.displayInfo() except: print("Exception Occurred: ", sys.exc_info()) else: print(emp1.__str__()) print(emp1) emp1.displayInfo() emp2 = Employee({"empno": 1002, "name": "Sam", "salary": 12345})