Пример #1
0
 def __init__(self, labyrinth_ctrl, guard_ctrl, game_engine):
     Controller.__init__(self, game_engine, labyrinth_ctrl)
     Collider.__init__(self, game_engine)
     self._guard_ctrl = guard_ctrl
     self._model = HeroModel(self, labyrinth_ctrl)
     self._view = HeroView(self, self._model, game_engine)
     self._view.show_objects_collected([])
Пример #2
0
 def test_controllerAttr(self):
     """
     Test the attributes are set correctly
     """
     controller = TrafficLightController("WEST")
     self.assertEqual(controller.getName(), "WEST")
     self.assertTrue(controller.getTL() != None)
Пример #3
0
    def __init__(self, parentWindow, controller, save, profileNumber):
        self.__controller = Controller()
        self.__builder = Gtk.Builder()
        self.__controller = controller
        self.__save = save
        self.__parentWindow = parentWindow
        self.__profileNumber = profileNumber

        self.__parentWindow = parentWindow

        self.__builder.add_from_file(
            'views/UploadSaveDialog/UploadSaveDialog.glade')
        self.__window = self.__builder.get_object("uploadSaveWindow")
        self.__builder.get_object("saveNameLabel").set_text('" {} "'.format(
            save.getName()))
        self.__builder.get_object("profileNameLabel").set_text(
            '"Profile {}: {}"'.format(
                self.__profileNumber + 1,
                self.__controller.getProfilesList()[self.__profileNumber][1]))

        # Handles:
        self.__builder.get_object("noButton").connect("clicked",
                                                      self.__noButtonHandle)
        self.__builder.get_object("yesButton").connect("clicked",
                                                       self.__yesButtonHandle)
        self.__window.connect("key-press-event", self.on_key_press_event)
Пример #4
0
class GameState:
    def __init__(self):
        self.controller = Controller(self)
        
        self.side = PlayerSide(self)
        self.map = Map(self)
        self.gui = GameStateGUI(self)
    
    def handleEvents(self,events):
        self.controller.handleEvents(events)
    
    def tick(self):
        self.map.tick()
        self.side.tick()
    
    def blit(self,screen):
        screen.fill((0,0,0))
        self.map.blit(screen)
        self.side.blit(screen)
        
        self.gui.blit(screen)
        
        if self.controller.action[0] == PLACEOBJECT:
            screen.blit(R.IMAGES[R.buildings[self.controller.action[1]]["image"]],(pygame.mouse.get_pos()[0]/20*20+self.map.offset[0]%20,
                                                                                   pygame.mouse.get_pos()[1]/20*20+self.map.offset[1]%20))
Пример #5
0
 def test_otherInitWait(self):
     """
     Makes sure waits are set right on init
     """
     controller = TrafficLightController("TEST")
     self.assertEqual(controller.GetRightWait(), 0, msg="Right wait")
     self.assertEqual(controller.GetOtherWait(), 0, msg="Other wait")
Пример #6
0
def test_controller_start():
    import sys
    app = QApplication(sys.argv)
    app_event_loop = QEventLoop(app)
    asyncio.set_event_loop(app_event_loop)
    w = Controller()
    w.show()
Пример #7
0
    def get(initials):
        team = TeamsModel.find_by_initials(initials)
        if team:  #Verifica se possui conteúdo
            team = team[0]
            return Controller.format_response(team.to_dict(), status_code=200)

        else:
            return Controller.format_response(errors=15, status_code=404)
Пример #8
0
 def test_phaseStop(self):
     """
     test the phase stop function
     """
     controller = TrafficLightController("TEST")
     tl = controller.getTL()
     controller.phaseStop()
     self.assertEqual(tl.whatsOn(), [True, True, False, False, False, False])
Пример #9
0
 def test_dualWaitIncrement(self):
     """
     Test the method handling incrementing both waits
     """
     controller = TrafficLightController("TEST")
     controller.IncrementBothWaits()
     self.assertEqual(controller.GetRightWait(), 1, msg="Right wait")
     self.assertEqual(controller.GetOtherWait(), 1, msg="Other wait")
Пример #10
0
    def __init__(self, args):
        Controller.__init__(self)
        try:
            port = int(args)
        except ValueError:
            port = 6666

        self.server = Server("0.0.0.0", port)
        self.server.start()
Пример #11
0
    def create():
        current_user = Controller.authenticated_user()
        data = request.get_json()
        tournament = TournamentsModel(data['name'], data['description'],
                                      data['start_date'], data['end_date'],
                                      current_user.login)

        tournament.insert()
        return Controller.format_response(status_code=201)
Пример #12
0
 def test_partialRightCycle(self):
     """
     Test a part of our right cycle
     """
     controller = TrafficLightController("TEST")
     tl = controller.getTL()
     controller.trafficLight.switchOff()
     controller.trafficLight.redOn()
     controller.trafficLight.tgreenOn()
     self.assertEqual(tl.whatsOn(), [True, False, False, False, False, True])
Пример #13
0
 def test_partialOtherCycleTwo(self):
     """
     Test the other part of our other cycle
     """
     controller = TrafficLightController("TEST")
     tl = controller.getTL()
     controller.trafficLight.switchOff()
     controller.trafficLight.orangeOn()
     controller.trafficLight.tredOn()
     self.assertEqual(tl.whatsOn(), [False, True, True, False, False, False])
Пример #14
0
def main():
    player1 = Player()
    player2 = Player()
    field = Field()
    view = View()
    cont = Controller(player1, player2, field, view)
    play_again = True
    while play_again:
        cont.game_loop()
        play_again = cont.play_again()
Пример #15
0
    def sign_in():
        data = request.get_json()
        user = UsersModel.find_by_login(data['login'])
        if user and Controller.bycrpt.check_password_hash(
                user[0].password, data['password']):
            access_token = create_access_token(identity=user[0].login)
            return Controller.format_response({'token': access_token},
                                              status_code=200)

        return Controller.format_response(errors=11, status_code=401)
Пример #16
0
    def test_partialBrokenCycle(self):
        """
        Test the broken cycle logic, minus timings
        """
        controller = TrafficLightController("TEST")
        tl = controller.getTL()
        controller.trafficLight.switchOff()
        self.assertEqual(tl.whatsOn(), [False, False, False, False, False, False])

        controller.trafficLight.orangeOn()
        controller.trafficLight.torangeOn()
        self.assertEqual(tl.whatsOn(), [False, False, True, True, False, False])
Пример #17
0
 def test_sensorAllGo(self):
     controller = TrafficLightController("MOCK")
     tl = controller.getTL()
     tl.switchOff()
     tl.greenOn()
     tl.tgreenOn()
     car1 = Car("Car1", "EAST", "STRAIGHT")
     car2 = Car("Car2", "EAST", "RIGHT")
     car3 = Car("Car3", "EAST", "LEFT")
     lane = [car1, car2, car3, car3]
     simulator.sensor(controller, lane)
     self.assertEqual(lane, [car2, car3, car3])
Пример #18
0
    def put(login):
        data = request.get_json()

        logged_user = Controller.authenticated_user()
        if logged_user.login == login:
            for field in ('name', 'email', 'birthday', 'password', 'country',
                          'state', 'city', 'neighborhood', 'street', 'number',
                          'complement'):
                if field in data:
                    setattr(logged_user, field, data[field])
            logged_user.update()
            return Controller.format_response(status_code=200)
        return Controller.format_response(errors=10, status_code=400)
Пример #19
0
    def delete(initials
               ):  #TESTAR averiguar se o usuário autenticado é o dono do time
        team = TeamsModel.find_by_initials(initials)
        current_user = Controller.authenticated_user()

        if not current_user.login == team.owner_login:
            return Controller.format_response(errors=13, status_code=403)

        if team:
            team = team[0]
            team.delete()
            return Controller.format_response(status_code=200)
        else:
            return Controller.format_response(status_code=404)
    def __init__(self,parentWindow,profileNumber):
        self.__controller = Controller()
        self.__builder = Gtk.Builder()
        self.__profileNumber = profileNumber
        self.__parentWindow = parentWindow

        self.__builder.add_from_file('views/NewSaveDialog/NewSaveDialog.glade')
        self.__window = self.__builder.get_object("newSaveWindow")
        self.__builder.get_object("descriptionTextArea").set_wrap_mode(Pango.WrapMode.WORD_CHAR)

        # Handles:
        self.__builder.get_object("cancelButton").connect("clicked", self.__cancelButtonHandle)
        self.__builder.get_object("confirmButton").connect("clicked", self.__confirmButtonHandle)
        self.__window.connect("key-press-event",self.on_key_press_event)
Пример #21
0
    def delete_by_code(code):
        tournament = TournamentsModel.find_by_cod_tournament(int(code))
        if tournament:
            tournament = tournament[0]

            current_user = Controller.authenticated_user()

            if not current_user.login == tournament.owner_login:
                return Controller.format_response(errors=13, status_code=403)

            tournament.delete_by_code()
            return Controller.format_response(status_code=200)
        else:
            return Controller.format_response(status_code=404)
Пример #22
0
 def test_sensorStraightOrange(self):
     """
     Test straight orange lights
     """
     controller = TrafficLightController("MOCK")
     tl = controller.getTL()
     tl.switchOff()
     tl.tredOn()
     tl.orangeOn()
     car1 = Car("Car1", "EAST", "STRAIGHT")
     car2 = Car("Car2", "EAST", "RIGHT")
     car3 = Car("Car3", "EAST", "LEFT")
     lane = [car1, car2, car3, car3]
     simulator.sensor(controller, lane)
     self.assertEqual(lane, [car2, car3])
Пример #23
0
 def _check_files_format(*args, **kwargs):
     mainController = Controller()
     configFound, wrongFiles = mainController.check_files_format()
     if not configFound:
         sys_print(u'检测到你不在印象笔记主目录中,或配置文件损坏', 'warn')
     elif mainController.available:
         if wrongFiles and not DEBUG:
             for fileName, status in wrongFiles:
                 if status == 1:
                     sys_print(u'检测到错误放置的内容:' + fileName.decode('utf8'),
                               'warn')
                 elif status == 2:
                     sys_print(u'检测到内容过大的文件:' + fileName.decode('utf8'),
                               'warn')
                 elif status == 3:
                     sys_print(u'检测到意义不明的文件:' + fileName.decode('utf8'),
                               'warn')
             sys_print(u'请确保单条笔记有md或html的正文且不大于%s字节' %
                       mainController.ls.maxUpload)
             sys_print(u'请确保没有文件夹格式的附件,或名为.DS_Store的笔记及笔记本。')
         else:
             return fn(mainController, *args, **kwargs)
     elif mainController.ls.get_credential():
         u, p = mainController.ls.get_credential().split('|')
         _, _, sandbox, is_international, expire_time, _, _ = mainController.ls.get_config(
         )
         token = TokenFetcher(is_international, u, p).fetch_token()
         if token:
             mainController.log_in(token=token,
                                   isSpecialToken=True,
                                   sandbox=sandbox,
                                   isInternational=is_international,
                                   expireTime=expire_time)
             if mainController.available:
                 mainController.ls.update_config(
                     token=token,
                     isSpecialToken=True,
                     sandbox=sandbox,
                     isInternational=is_international,
                     expireTime=expire_time)
                 sys_print(u'刷新token成功')
                 return fn(mainController, *args, **kwargs)
             else:
                 sys_print(u'刷新token失败')
         else:
             sys_print(u'获取token失败,请检查用户名密码')
     else:
         sys_print(u'尚未初始化', 'warn')
Пример #24
0
    def sign_up():
        data = request.get_json()
        password = Controller.bycrpt.generate_password_hash(
            data['password']).decode('utf-8')

        if UsersModel.find_by_login(data['login']):
            return Controller.format_response(errors=9, status_code=400)

        if UsersModel.find_by_email(data['email']):
            return Controller.format_response(errors=10, status_code=400)

        user = UsersModel(data['login'], data['name'], data['email'],
                          data['birthday'], password)
        user.insert()

        return Controller.format_response(status_code=201)
Пример #25
0
 def view_members(cod_tournament, initials):
     tournament = TournamentsModel.find_by_cod_tournament(int(code))
     team = TeamsModel.find_by_initials(initials)
     if tournament and team:
         pass  #falta
     else:
         return Controller.format_response(status_code=404)
Пример #26
0
 def index():
     all_teams = TeamsModel.get_all()
     search_keyword = request.args.get('search')
     if search_keyword:
         k = search_keyword.lower()
         all_teams = [
             t for t in all_teams if k in t.to_dict()['initials'].lower()
             or k in t.to_dict()['name'].lower()
         ]
     result = []
     for team in all_teams:
         result.append(team.to_dict())
     # Somente retornar erro se for uma pesquisa por palavra chave e não for encontrado nada
     if search_keyword and not result:
         return Controller.format_response(errors=16, status_code=404)
     return Controller.format_response(result, status_code=200)
Пример #27
0
class UploadSaveDialog:
    def __init__(self, parentWindow, controller, save, profileNumber):
        self.__controller = Controller()
        self.__builder = Gtk.Builder()
        self.__controller = controller
        self.__save = save
        self.__parentWindow = parentWindow
        self.__profileNumber = profileNumber

        self.__parentWindow = parentWindow

        self.__builder.add_from_file(
            'views/UploadSaveDialog/UploadSaveDialog.glade')
        self.__window = self.__builder.get_object("uploadSaveWindow")
        self.__builder.get_object("saveNameLabel").set_text('" {} "'.format(
            save.getName()))
        self.__builder.get_object("profileNameLabel").set_text(
            '"Profile {}: {}"'.format(
                self.__profileNumber + 1,
                self.__controller.getProfilesList()[self.__profileNumber][1]))

        # Handles:
        self.__builder.get_object("noButton").connect("clicked",
                                                      self.__noButtonHandle)
        self.__builder.get_object("yesButton").connect("clicked",
                                                       self.__yesButtonHandle)
        self.__window.connect("key-press-event", self.on_key_press_event)

    def run(self):
        self.__window.show_all()

    def __noButtonHandle(self, arg):
        self.__window.destroy()
        pass

    def __yesButtonHandle(self, arg):
        # self.__controller.uplaodSave(self.__save)
        self.__builder.get_object("progressBar").pulse()
        self.__controller.uploadSave(self.__save, self.__profileNumber)
        self.__window.destroy()
        self.__parentWindow.refresh()

    def on_key_press_event(self, widget, event):
        if event.keyval == 65307:
            self.__noButtonHandle(None)
        if event.keyval == 65293:
            self.__yesButtonHandle(None)
class ModifySaveDialog:
    
    def __init__(self, parentWindow, controller, save):
        self.__controller = Controller()
        self.__builder = Gtk.Builder()
        self.__controller = controller
        self.__save = save
        self.__parentWindow = parentWindow

        self.__parentWindow = parentWindow

        self.__builder.add_from_file('views/ModifySaveDialog/ModifySaveDialog.glade')
        self.__window = self.__builder.get_object("modifySaveWindow")
        self.__builder.get_object("saveNameLabel").set_text('" {} "'.format(save.getName()))

        self.__builder.get_object("nameEntry").set_text(save.getName())
        self.__builder.get_object("descriptionTextArea").get_buffer().set_text(save.getDescription())
        self.__builder.get_object("descriptionTextArea").set_wrap_mode(Pango.WrapMode.WORD_CHAR)
        self.__window.connect("key-press-event",self.on_key_press_event)
        
        # Handles:
        self.__builder.get_object("cancelButton").connect("clicked", self.__cancelButtonHandle)
        self.__builder.get_object("confirmButton").connect("clicked", self.__confirmButtonHandle)
   

    def __cancelButtonHandle(self, arg):
        self.__window.destroy()
    
    def __confirmButtonHandle(self, args):
        name = self.__builder.get_object("nameEntry").get_text()
        buffer = self.__builder.get_object("descriptionTextArea").get_buffer()
        description = buffer.get_text(buffer.get_start_iter(), buffer.get_end_iter(), True)
        progressBar = self.__builder.get_object("progressBar")
        progressBar.pulse()
        self.__controller.modifySave(self.__save, name,description)
        self.__parentWindow.refresh()
        self.__window.destroy()

    def on_key_press_event(self, widget, event):
        if event.keyval == 65307:
            self.__cancelButtonHandle(None)
        if event.keyval == 65293:
            self.__confirmButtonHandle(None)

    def run(self):
        self.__window.show_all()
Пример #29
0
def nav_loop():
    robot = UgvPlatform()
    #robot.setColorLut('lut_file.lut')
    #robot.initImu('accelcal.txt', 'magcal.txt')
    mpu_valid = -1
    print "waiting for GPS fix"
    gps_service = GpsService()
    current_pos = gps_service.getPosition()
    while not current_pos.valid:
        time.sleep(1)
        current_pos = gps_service.getPosition()
        print current_pos.valid
    while mpu_valid < 0:
        time.sleep(1.0)
        mpu_valid = mpu9150.mpuInit(1, 10, 4)
    print mpu_valid
    mpu9150.setMagCal('./magcal.txt')
    mpu9150.setAccCal('./accelcal.txt')
    #time.sleep(4)
    wp = StaticWayPointProvider()
    controller = Controller()
    threads.append(controller)
    #gps_service.start()
    robot.setSteeringFailSafe(0.0)
    robot.setSpeedFailSafe(ESC_ARM_ANGLE)
    robot.resetWatchdog()
    robot.setSteeringAngle(0.0)
    robot.setSpeed(0)
    while True:
        robot.resetWatchdog()
        target_pos = wp.getCurrentWayPoint()
        sensors = populateSensorMap(robot, gps_service)
        current_pos = sensors[Controller.gps_key]
        imu_sample = sensors[Controller.imu_key]
        if imu_sample[0] < 0:
            time.sleep(0.05)
            continue
        #print "lat : "+str(current_pos.lat)+" lon :"+str(current_pos.lon)+"imu:"+str(imu_sample)


#		continue
        cmd = controller.getCommand(sensors)
        if cmd == None:
            break
        print str(cmd)
        if cmd.has_key(Controller.next_waypoint_key
                       ) and cmd[Controller.next_waypoint_key] != None and cmd[
                           Controller.next_waypoint_key] == 1:
            wp.getNextWaypoint()
        else:
            robot.setSteeringAngle(cmd[Controller.steering_key])
            robot.setSpeed(cmd[Controller.speed_key])
        time.sleep(0.100)
        robot.setSteeringAngle(0.0)
    robot.setSpeed(0)
    print "Shutdown ESC then quit programm (for safety reason)"
    while True:
        time.sleep(1)
Пример #30
0
    def test_lightsBrokenLogic(self):
        """
        Tests lightsAreBroken works as intended
        """
        simulator.lightsAreBroken = True
        controller = TrafficLightController("TEST")
        tl = controller.getTL()
        tl.switchOff()
        tl.greenOn()
        tl.tgreenOn()
        car1 = Car("Car1", "EAST", "STRAIGHT")
        car2 = Car("Car2", "EAST", "RIGHT")
        car3 = Car("Car3", "EAST", "LEFT")
        lane = [car1, car2, car3, car3]
        simulator.sensor(controller, lane)
        self.assertEqual(lane, [car1, car2, car3, car3])

        # Reset the variable so as not to break anything
        simulator.lightsAreBroken = False
Пример #31
0
 def _check_files_format(*args, **kwargs):
     mainController = Controller()
     configFound, wrongFiles = mainController.check_files_format()
     if not configFound:
         sys_print(u'检测到你不在印象笔记主目录中,或配置文件损坏', 'warn')
     elif mainController.available:
         if wrongFiles:
             for fileName, status in wrongFiles:
                 if status == 1:
                     sys_print(u'检测到错误放置的内容:'+fileName.decode('utf8'), 'warn')
                 elif status == 2:
                     sys_print(u'检测到内容过大的文件:'+fileName.decode('utf8'), 'warn')
                 elif status == 3:
                     sys_print(u'检测到意义不明的文件:'+fileName.decode('utf8'), 'warn')
             sys_print(u'请确保单条笔记有md或html的正文且不大于%s字节,笔记中没有文件夹格式的附件。'%mainController.ls.maxUpload, 'info')
         else:
             return fn(mainController, *args, **kwargs)
     else:
         sys_print(u'尚未登录', 'warn')
Пример #32
0
    if not os.path.exists(SONGS_PATH):
        os.mkdir(SONGS_PATH)


if __name__ == "__main__":
    ensure_data_dir()

    app = QApplication(sys.argv)
    app.setQuitOnLastWindowClosed(True)
    app.setWindowIcon(QIcon(WINDOW_ICON))
    app.setApplicationName("FeelUOwn")
    app_event_loop = QEventLoop(app)
    asyncio.set_event_loop(app_event_loop)

    qss = QSS_PATH
    with open(qss, "r") as qssfile:
        app.setStyleSheet(qssfile.read())

    if MODE != DEBUG:
        f_handler = open(LOGFILE, "w")
        sys.stdout = f_handler
        sys.stderr = f_handler

    w = Controller()
    w.move(QApplication.primaryScreen().geometry().center() - w.rect().center())
    w.show()

    app_event_loop.run_forever()

    sys.exit()
Пример #33
0
 def __init__(self):
     self.controller = Controller(self)
     
     self.side = PlayerSide(self)
     self.map = Map(self)
     self.gui = GameStateGUI(self)
Пример #34
0
 def __init__(self, display):
   self._display = display
   Controller.__init__(self)
Пример #35
0
        os.mkdir(SONGS_PATH)


if __name__ == "__main__":
    ensure_data_dir()

    app = QApplication(sys.argv)
    app.setQuitOnLastWindowClosed(True)
    app.setWindowIcon(QIcon(WINDOW_ICON))
    app.setApplicationName("FeelUOwn")
    app_event_loop = QEventLoop(app)
    asyncio.set_event_loop(app_event_loop)

    qss = QSS_PATH
    with open(qss, "r") as qssfile:
        app.setStyleSheet(qssfile.read())

    if MODE != DEBUG:
        f_handler = open(LOGFILE, 'w')
        sys.stdout = f_handler
        sys.stderr = f_handler

    w = Controller()
    w.move((QApplication.desktop().width() - w.width())/2,
           (QApplication.desktop().height() - w.height())/2)
    w.show()

    app_event_loop.run_forever()

    sys.exit()
Пример #36
0
#!/usr/bin/env python

import sys
import time
import socket
from controllers import Controller

try:
    CONTROLLER = Controller()
except socket.error, msg:
    print "Clipp daemon is not running."
    sys.exit(1)

try:
    while CONTROLLER.running:
        CONTROLLER.wait_for_key_and_process()
        time.sleep(0.01)

finally:
    pass

CONTROLLER.close()