コード例 #1
0
    def test_7_director_translation(self):
        panoid = "1234asdf4321fdsa"
        director_msg = GenericMessage()
        director_msg.type = 'json'
        director_msg.message = """
                {
                      "description":"",
                      "duration":30,
                      "name":"Browser service test",
                      "resource_uri":"/director_api/scene/browser-service-test/",
                      "slug":"browser-service-test",
                      "windows":[
                        {
                        "activity":"streetview",
                        "assets":["%s", "foo", "bar"],
                        "height":600,
                        "presentation_viewport":"center",
                        "width":800,
                        "x_coord":100,
                        "y_coord":100
                        }
                        ]
                    }
        """ % panoid

        # get existing asset
        asset = get_first_asset_from_activity(
            load_director_message(director_msg), "streetview")
        self.assertEqual(asset, panoid, 'Invalid asset returned')
        # get non existing asset
        asset = get_first_asset_from_activity(
            load_director_message(director_msg), "panoview")
        self.assertEqual(asset, None, 'No asset should have been returned')

        self.check_soft_relaunch()
コード例 #2
0
    def test_7_director_translation(self):
        panoid = "1234asdf4321fdsa"
        director_msg = GenericMessage()
        director_msg.type = 'json'
        director_msg.message = """
                {
                      "description":"",
                      "duration":30,
                      "name":"Browser service test",
                      "resource_uri":"/director_api/scene/browser-service-test/",
                      "slug":"browser-service-test",
                      "windows":[
                        {
                        "activity":"streetview",
                        "assets":["%s", "foo", "bar"],
                        "height":600,
                        "presentation_viewport":"center",
                        "width":800,
                        "x_coord":100,
                        "y_coord":100
                        }
                        ]
                    }
        """ % panoid

        # get existing asset
        asset = get_first_asset_from_activity(
            load_director_message(director_msg), "streetview")
        self.assertEqual(asset, panoid, 'Invalid asset returned')
        # get non existing asset
        asset = get_first_asset_from_activity(
            load_director_message(director_msg), "panoview")
        self.assertEqual(asset, None, 'No asset should have been returned')

        self.check_soft_relaunch()
コード例 #3
0
 def handle_scene(self, scene):
     with self.lock:
         scene = load_director_message(scene)
         windows = scene.get('windows', None)
         self._hide_onboard()
         if windows:
             received_active_viewport = route_touch_to_viewports(
                 windows, route_touch_key='route_touch')
             if received_active_viewport:
                 self.active_viewport = list(received_active_viewport)
             else:
                 # no viewports received - falling back to default
                 self.active_viewport = self.default_viewport
コード例 #4
0
 def handle_scene(self, scene):
     with self.lock:
         scene = load_director_message(scene)
         windows = scene.get('windows', None)
         self._hide_onboard()
         if windows:
             received_active_viewport = route_touch_to_viewports(
                 windows,
                 route_touch_key='route_touch')
             if received_active_viewport:
                 self.active_viewport = list(received_active_viewport)
             else:
                 # no viewports received - falling back to default
                 self.active_viewport = self.default_viewport
コード例 #5
0
    def _handle_scene(self, msg):
        self._states = {}

        data = load_director_message(msg)

        self._current_scene_slug = data.get('slug')
        self._consider_scene_slugs()

        for activity in self.disable_activities:
            window = find_window_with_activity(data, activity)
            if len(window) > 0:
                self._activity_disabled = True
                self._set_writer_state(False)
                return

        self._activity_disabled = False
コード例 #6
0
    def _handle_scene_msg(self, msg):
        scene = load_director_message(msg)

        windows = scene.get('windows', [])
        for window in windows:
            activity = window.get('activity', '')
            if activity != MIRROR_ACTIVITY_TYPE:
                continue
            config = window.get('activity_config', {})
            source_viewport = config.get('viewport', '')
            # allow viewport:// specifier
            source_viewport = source_viewport.replace('viewport://', '')
            if source_viewport == self.viewport:
                self._start_capture(window)
                return

        # No matching assets, end capture.
        self._end_capture()
コード例 #7
0
    def _handle_scene_msg(self, msg):
        scene = load_director_message(msg)

        windows = scene.get('windows', [])
        for window in windows:
            activity = window.get('activity', '')
            if activity != MIRROR_ACTIVITY_TYPE:
                continue
            config = window.get('activity_config', {})
            source_viewport = config.get('viewport', '')
            # allow viewport:// specifier
            source_viewport = source_viewport.replace('viewport://', '')
            if source_viewport == self.viewport:
                self._start_capture(window)
                return

        # No matching assets, end capture.
        self._end_capture()
コード例 #8
0
ファイル: playback.py プロジェクト: johnjsb/lg_ros_nodes
    def _handle_scene_msg(self, msg):
        scene = load_director_message(msg)
        windows = self._extract_windows_from_scene(scene)

        # Save the previous state for continuation and cleanup.
        previous_players = self.players
        self.players = {}

        for window in windows:
            instance_name = self._window_to_instance_name(window)
            # If we were playing this previously, promote to the new list.
            if instance_name in previous_players.keys():
                self.players[instance_name] = previous_players[instance_name]
                del previous_players[instance_name]
                continue
            player = self._instantiate_player(window, instance_name)
            self.players[instance_name] = player
            player.start()

        # Any remaining previous players must be stopped.
        for p in previous_players.values():
            p.stop()
コード例 #9
0
ファイル: playback.py プロジェクト: EndPointCorp/lg_ros_nodes
    def _handle_scene_msg(self, msg):
        scene = load_director_message(msg)
        windows = self._extract_windows_from_scene(scene)

        # Save the previous state for continuation and cleanup.
        previous_players = self.players
        self.players = {}

        for window in windows:
            instance_name = self._window_to_instance_name(window)
            # If we were playing this previously, promote to the new list.
            if instance_name in previous_players.keys():
                self.players[instance_name] = previous_players[instance_name]
                del previous_players[instance_name]
                continue
            player = self._instantiate_player(window, instance_name)
            self.players[instance_name] = player
            player.start()

        # Any remaining previous players must be stopped.
        for p in previous_players.values():
            p.stop()
コード例 #10
0
ファイル: test_helpers.py プロジェクト: johnjsb/lg_ros_nodes
 def test_load_director(self):
     self.msg.message = DIRECTOR_MESSAGE_ACTIVITY_CONFIG_NOTHING
     d = load_director_message(self.msg)
     assert isinstance(d, dict)
     assert d["windows"][0]["activity_config"]["onFinish"] == "nothing"
コード例 #11
0
 def handle_initial_scene_msg(msg):
     d = load_director_message(msg)
     router.handle_scene(publish_active_routes, d)
コード例 #12
0
 def handle_initial_scene_msg(msg):
     d = load_director_message(msg)
     router.handle_scene(publish_active_routes, d)