def test_driver_class_init(self): driver_1 = Driver("Terrance", "Toyota", "Camry") driver_2 = Driver("Rachel", "Subaru", "Forrester") driver_3 = Driver("Jeff", "Toyota", "Camry") driver_4 = Driver("Lore", "Honda", "Pilot") self.assertItemsEqual(Driver._all, [driver_1, driver_2, driver_3, driver_4]) self.assertEqual(Driver._count, 4)
def main(): taxi1 = Taxi('Kia') dr1 = Driver('Armen', 1) dr2 = Driver('Karen', 2, 'Free') dr3 = Driver('Aram', 3, 'Busy') dr_list = Drivers() dr_list.addDriver(dr1) dr_list.addDriver(dr2) dr_list.addDriver(dr3) cus1 = Customer('Mari', 1) cus2 = Customer('Ani', 2) cus_list = Customers() cus_list.addCustomer(cus1) cus_list.addCustomer(cus2) print(cus_list.customers) dis = Dispatcher(dr_list) taxi1.drivers = dr_list taxi1.customers = cus_list.customers taxi1.dispatcher = dis print(taxi1.customers) cus1.request_taxi() ride1 = taxi1.start_ride() print(ride1.created_at)
def __init__(self, path=None): f = open(utils.NAME_FILE, 'r') car_name = f.read().strip() f.close() self.name = car_name self.frames = deque( maxlen=5) # frame = {'car_name': (x,y,theta,vx,vy,t), ...} self._state = CarState.IDLE self._kill = False self._last_frame_number = 0 self._collision_worker = threading.Thread( target=self._detect_collisions) self._message_worker = threading.Thread(target=self._process_messages) self._main_worker = threading.Thread(target=self._process_collisions) self._collisions = dict() # {'car_name': collision_object ...} car_ips = dict() ips = utils.get_car_ips() for name, ip in ips.iteritems(): if name != self.name: car_ips[name] = ip self._vicon_client = ViconClient(self.frames) self._talker = CarTalker(car_ips) self._driver = None if path: self._driver = Driver(path=path) else: self._driver = Driver()
def test_driver_class_init(): driver_1 = Driver("Terrance", "Toyota", "Camry") driver_2 = Driver("Rachel", "Subaru", "Forrester") driver_3 = Driver("Jeff", "Toyota", "Camry") driver_4 = Driver("Lore", "Honda", "Pilot") assert Driver._all == [ driver_1, driver_2, driver_3, driver_4 ], "Remember to keep track of all drivers that have been instantiated" assert Driver._count == 4
def test_get_speed(self): new_object = Driver() new_object.name = 'Dan' new_object.miles = 60 new_object.time = 60 another_object = Driver() another_object.name = 'Stan' another_object.miles = 0 another_object.time = 0 self.assertEqual(new_object.get_speed(),60) self.assertEqual(another_object.get_speed(),0)
def do_POST(self): global driver # 만약 /reset 경로로 요청이 들어왔을 경우, driver를 초기화하고 OK 메시지를 보낸다. if self.path == '/reset': print("Driver reset!") driver = Driver() self.send_response(200) self.end_headers() self.wfile.write( bytes(json.dumps({'STATUS': 'OK'}), encoding='utf-8')) return # 그 외의 경우에는 전송된 이미지 데이터를 읽어 OpenCV에서 처리할 수 있는 형식으로 변환한다. data_length = int(self.headers['Content-Length']) data = str(self.rfile.read(data_length), encoding='utf-8') arr = np.frombuffer(base64.b64decode(data), np.uint8) img = cv2.imdecode(arr, cv2.IMREAD_COLOR) # driver에 데이터를 입력한 후 출력을 반환받는다. drive_data = driver.drive(img) try: self.send_response(200) self.end_headers() # 반환받은 출력을 json string 형식으로 바꾼 후, bytes 형식으로 encoding하여 전송한다. self.wfile.write(bytes(json.dumps(drive_data), encoding='utf-8')) except ConnectionAbortedError: return
def test_car_crash_superman_lives(self): self.car.driver = Driver("Superman") self.assertTrue(self.car.driver.is_alive(), "A new car has an alive driver") self.car.crash() self.assertTrue(self.car.driver.is_alive(), "When the car crashes, Superman lives")
def __init__(self, browser="", base_url="", username="", password="", active="", passive="", quit=""): self.base_url = base_url self.errors = [] # Storage for accounts that couldn't be updated self.success = [] # Storage for successfully updated accounts self.active = active self.passive = passive self.quit = quit self.get_members() self.get_users(browser, base_url, username, password) self.opendriver = Driver(browser=browser, base_url=base_url, username=username, password=password) self.driver = self.opendriver.driver # self.fix_active_members() self.fix_passive_members() # self.quit_members() # self.clean_all_old_members() # self.update_accounts() self.opendriver.close()
def driver(): driver = Driver() driver.start() p = _start_bot_process() driver.wait_for_bot_online() yield driver p.terminate()
def downloadAllButtonAction(self): course_link = self.getCourseLink() if course_link == "": messagebox.showinfo(title="Information", message="Please enter course link") return output_folder = self.getOutputFolder() if output_folder == "": messagebox.showinfo(title="Information", message="Please choose output folder") return if self.driver == None: self.driver = Driver("main") if self.bot == None: self.bot = Bot(self.driver, start_week=1, gui=self) self.bot.setCourseUrl(course_link) self.bot.setOutputRoot(output_folder) download_topics = self.getDownloadTopics() self.bot.setDownloadTopics(download_topics) if self.bot == None: self.bot = Bot(self.driver, gui=self) self.bot.setOutputRoot(output_folder) Thread(target=self.runAllDownloader).start()
def test_almost_one(self): born = datetime(2018, 1, 1) today = datetime(2018, 12, 31) driver = Driver("Test", "Tester", born) self.assertEqual(driver.age(today), 0)
def test_kill_driver_driver_dead(self): driver = Driver() self.assertTrue(driver.is_alive(), "Driver should be alive from the start") driver.kill() self.assertFalse(driver.is_alive(), "Driver should not be alive after being killed")
def main(): message_handler = MessageHandler() driver = Driver() #my_id = get IP address on this computer my_id = 3 acknowledge = 4 run_floor = 0 run_button = 0 old_f = None old_but = None floor_up = [0] * 4 floor_down = [0] * 4 while True: position = driver.read_position() master_message = message_handler.receive_from_master() for i in range(0, 4): if (master_message['master_floor_up'][i] == 0): floor_up[i] = 0 if (master_message['master_floor_down'][i] == 0): floor_down[i] = 0 time.sleep(0.1) (floor, button) = driver.pop_floor_panel_queue() if floor is not None: if button == 0: floor_up[floor] = 1 elif button == 1: floor_down[floor] = 1 message_handler.send_to_master(floor_up, floor_down, my_id, position[0], position[1], position[2], master_message['queue_id']) print floor_up print floor_down (run_floor, run_button) = message_handler.get_my_master_order() print run_floor print run_button if run_floor is not None: driver.queue_elevator_run(run_floor, run_button) print['floor_up:'] + master_message['master_floor_up'] + [ 'floor_down:' ] + master_message['master_floor_down'] #print master_message['queue_id'] time.sleep(0.5) '''
def __init__(self, name): # ホスト名 self.name = name # ドライバ self.drv = Driver(self) # ホストデータ self.data = HostData(self.name)
def get_class(self): driver = Driver() driver.maximize_window() driver.get(self.url) for element in driver.find_elements_by_css_selector( self.css_locator["class"]): class_id = element.get_attribute("class_id") has_child = element.get_attribute("has_child") title = element.find_element_by_tag_name("h3").text _class = {"name": title, "id": class_id, "url": []} if has_child == "1": sub_css_locator = ".main_l_box>ol>li" for sub_element in element.find_elements_by_css_selector( sub_css_locator): sub_class_id = sub_element.get_attribute("class_id") _class["url"].append({ "key": sub_class_id, "value": f"{self.url}/?action=courses&classid={sub_class_id}" }) else: _class["url"].append({ "key": class_id, "value": f"{self.url}/?action=courses&classid={class_id}" }) self.class_list.append(_class) driver.close() driver.quit() return True
def test_born_feb_29_non_leap_years(self): born = datetime(2000, 2, 29) driver = Driver("Test", "Tester", born) self.assertEqual(driver.age(datetime(2017, 2, 28)), 16) self.assertEqual(driver.age(datetime(2017, 3, 1)), 17)
def test_exactly_eighteen(self): born = datetime(2000, 7, 1) today = datetime(2018, 7, 1) driver = Driver("Test", "Tester", born) self.assertEqual(driver.age(today), 18)
def test_almost_eighteen(self): born = datetime(2000, 7, 15) today = datetime(2018, 7, 14) driver = Driver("Test", "Tester", born) self.assertEqual(driver.age(today), 17)
def test_exactly_one(self): born = datetime(2018, 1, 1) today = datetime(2019, 1, 1) driver = Driver("Test", "Tester", born) self.assertEqual(driver.age(today), 1)
def main(): random.seed(0) d = Driver() t = Transport(d, isServer=False) services = Services(t) s = services.getService(TEST_ADDRESS) for i in itertools.count(1): #totalFrags = random.randrange(1, 2**16 - 1) totalFrags = random.randrange(1, 500) #totalFrags = 1000 requestBuffer = Buffer( ['a' * t.dataPerFragment() for j in range(totalFrags)]) responseBuffer = Buffer() start = gettime() r = t.clientSend(s, requestBuffer, responseBuffer) r.getReply() elapsedNs = gettime() - start resp = responseBuffer.getRange(0, responseBuffer.getTotalLength()) req = requestBuffer.getRange(0, requestBuffer.getTotalLength()) assert len(req) == len(resp), (len(req), len(resp), req[:10], resp[:10], req[-10:], resp[-10:]) assert req == resp, (req, resp) print print "Message %d with %d frags OK in %dms" % (i, totalFrags, elapsedNs / 1000000) d.stat()
def doPort(self, e=None): """ open a serial port """ if self.port == None: self.findPorts() self.ports += ['Gazebo'] dlg = wx.SingleChoiceDialog(self,'Port (Ex. COM4 or /dev/ttyUSB0)','Select Communications Port',self.ports) #dlg = PortDialog(self,'Select Communications Port',self.ports) if dlg.ShowModal() == wx.ID_OK: if self.port != None: self.port.ser.close() print "Opening port: " + self.ports[dlg.GetSelection()] try: port_name = self.ports[dlg.GetSelection()] if port_name == 'Gazebo': self.port = GazeboDriver() else: # TODO: add ability to select type of driver self.port = Driver(self.ports[dlg.GetSelection()], 38400, True) # w/ interpolation self.panel.port = self.port self.panel.portUpdated() self.sb.SetStatusText(self.ports[dlg.GetSelection()] + "@38400",1) except RuntimeError as e: print 'Error opening port:', e self.port = None self.sb.SetBackgroundColour('RED') self.sb.SetStatusText("Could Not Open Port",0) self.sb.SetStatusText('not connected',1) self.timer.Start(20) dlg.Destroy()
def new_player(self, insim, npl): ''' ISP_NPL Add the new player to the players dict. ''' #players[npl.PLID] = npl try: print 'New player: %s' % pyinsim.stripcols(npl.PName) if (self.traker_enabled == False): return if (npl.UCID == 0): print( 'Warning Tracker doesnt work well in offline mode. Do not use AIs in offline mode' ) #self.tracker=False #self.exit_app() print 'Driver name ' + npl.PName + " UCID: " + str( npl.UCID) + " PLID: " + str(npl.PLID) if (self.drivers[npl.UCID] is None): self.drivers[npl.UCID] = Driver(npl) self.driversID[npl.PLID] = npl.UCID self.drivers[npl.UCID].player_id = npl.PLID self.drivers[npl.UCID].status = 2 self.drivers[npl.UCID].car_name = npl.CName self.drivers[npl.UCID].tyre_compounds = npl.Tyres self.drivers[npl.UCID].set_playername(npl.PName) #self.print_all_drivers() except: print "Key error"
def __init__(self): atexit.register(self.__handleExit) self.indexStockId = 0 self.indexStockName = 1 self.indexSellPrice = 6 self.indexBuyPrice = 7 self.indexMinPrice = 8 self.indexMaxPrice = 9 self.indexStats = 11 self.sqliteData = SqliteDataEtoro('stocks.db') self.log = Log('stock_research.log') driverObj = Driver( "/home/scitickart/.mozilla/firefox/w05kja2g.default", "Mozilla/5.0 (X11; Linux i686; rv:88.0) Gecko/20100101 Firefox/88.0" ) self.driver = driverObj.getDriver() self.seleniumWrapper = SeleniumWrapper(self.driver) self.markets = Markets(self.driver) self.stock = Stock(self.driver) allStocks = self.markets.getAllMarketsInfo() self.insertDataIntoAllStocks(allStocks) print("getVolatileStocks") self.getVolatileStocks() print("getDipStocksWithLowPE") self.getDipStocksWithLowPE() print("getStocksWithDividends") self.getStocksWithDividends()
def test_zero_something(self): born = datetime(2018, 1, 1) today = datetime(2018, 7, 1) driver = Driver("Test", "Tester", born) self.assertEqual(driver.age(today), 0)
def __init__(self, robot, code, verbose=False): self.random = random.Random(0).uniform self.robot = robot self.verbose = verbose self.code = code self.robot.attachEmergencyStopButton() # do we want some processing? self.robot.attachCamera( cameraExe="../digits/digits", url= "http://192.168.0.99/image?res=full&x0=352&y0=80&x1=992&y1=592&quality=12&doublescan=0" ) # self.robot.addExtension( cameraDataExtension ) self.robot.attachLaser(pose=((0.14, 0.0, 0.32), (0, 0, 0))) # self.robot.attachLaser( index=2, remission=True, usb=True, # pose=((0.19, 0.0, 0.055), tuple([math.radians(x) for x in (0, 180, 0)])), # errLog = self.robot.metaLog ) self.driver = Driver(self.robot, maxSpeed=0.5, maxAngularSpeed=math.radians(180)) self.robot.localisation = SimpleOdometry() self.robot.laser.stopOnExit = False # for faster boot-up
def SetUp(self, scenario, browser, viewport, conf_path): self.scenario = scenario self.browser = browser self.viewport = viewport self.driver = Driver(browser, viewport) self.conf_path = conf_path
def downloadResourceButtonAction(self): course_link = self.getCourseLink() if course_link == "": messagebox.showinfo(title="Information", message="Please enter course link") return output_folder = self.getOutputFolder() if output_folder == "": messagebox.showinfo(title="Information", message="Please choose output folder") return if self.driver == None: self.driver = Driver("main") if self.bot == None: self.bot = Bot(self.driver, course_url=course_link, gui=self) self.bot.setOutputRoot(output_folder) # self.disableSkipButton(False) # self.disablePauseButton(False) # self.disableCancelButton(False) # self.disableDownloadVideoButton(True) Thread(target=self.runResourceDownloader).start()
def __init__(self, scr): scr.nodelay(1) self.driver = Driver() self.machine = Menu() self.menu = True self.scr = scr self.menu = True self.next = time()
def create_object(entry, dictionary): new_driver = Driver() new_driver.name = entry[1] # Each entry in the dictionary is an object of type Driver and # can be accessed with the key which is the name of the driver dictionary[new_driver.name] = new_driver return dictionary
def main(): d = Driver(TEST_ADDRESS) t = Transport(d, isServer=True) while True: r = t.serverRecv() r.replyPayload.extend(r.recvPayload) r.sendReply() d.stat()