コード例 #1
0
 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)
コード例 #2
0
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)
コード例 #3
0
ファイル: car.py プロジェクト: jlucier/6.S062-car-swarm
    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
コード例 #5
0
    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)
コード例 #6
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
コード例 #7
0
 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")
コード例 #8
0
    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()
コード例 #9
0
def driver():
    driver = Driver()
    driver.start()
    p = _start_bot_process()
    driver.wait_for_bot_online()
    yield driver
    p.terminate()
コード例 #10
0
ファイル: gui.py プロジェクト: asnbd/coursera-download
    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()
コード例 #11
0
    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)
コード例 #12
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")
コード例 #13
0
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)
        '''
コード例 #14
0
ファイル: host.py プロジェクト: osumitan/infoq2
 def __init__(self, name):
     # ホスト名
     self.name = name
     # ドライバ
     self.drv = Driver(self)
     # ホストデータ
     self.data = HostData(self.name)
コード例 #15
0
ファイル: active.py プロジェクト: ray3175/tools
 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
コード例 #16
0
    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)
コード例 #17
0
    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)
コード例 #18
0
    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)
コード例 #19
0
    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)
コード例 #20
0
ファイル: client.py プロジェクト: OferMania/RAMCloud-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()
コード例 #21
0
ファイル: PyPose.py プロジェクト: SiChiTong/nuke-jpieper
 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()
コード例 #22
0
ファイル: insim_client.py プロジェクト: jeysonmc/My-LFS-Insim
    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"
コード例 #23
0
    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()
コード例 #24
0
    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)
コード例 #25
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
コード例 #26
0
    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
コード例 #27
0
ファイル: gui.py プロジェクト: asnbd/coursera-download
    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()
コード例 #28
0
 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()
コード例 #29
0
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
コード例 #30
0
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()