Beispiel #1
0
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"
Beispiel #2
0
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)
Beispiel #3
0
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
Beispiel #4
0
    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
Beispiel #5
0
 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())
Beispiel #6
0
 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
Beispiel #13
0
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})