예제 #1
0
    def _test_engine(self, mp4_filename, game_lang=None):
        from ikalog.utils import Localization
        if game_lang:
            Localization.set_game_languages(game_lang)

        from ikalog.inputs import CVFile
        from ikalog.engine import IkaEngine
        from ikalog.outputs.preview import Screen
        from ikalog.outputs.debug import DebugLog

        self.errors = []
        source = CVFile()
        source.start_video_file(mp4_filename)
        source.need_resize = True
        outputPlugins = [
            self,
            Screen(0, size=(640, 360)),
            # DebugLog(dir='./debug/', screenshot=True),
        ]

        self.engine = IkaEngine()

        self.engine.set_capture(source)
        self.engine.set_plugins(outputPlugins)
        self.engine.pause(False)

        print('Engine started')
        try:
            self.engine.run()
        except EOFError:
            pass
        print('Engine stopped')

        # 期待されたイベントが全て発生しているか確認
        for event_name in list(self.event_tickets.keys()):
            if self.event_tickets[event_name] is None:
                continue
            assert self.event_tickets[
                event_name] == 0, 'Missed event %s? %s tickets remained.' % (
                    event_name, self.event_tickets[event_name])

        assert len(self.errors) == 0, '\n'.join(self.errors)

        # unreference the engine
        engine = self.engine
        self.engine = None
        return engine
예제 #2
0
    def _test_engine(self, mp4_filename,game_lang=None):
        from ikalog.utils import Localization
        if game_lang:
            Localization.set_game_languages(game_lang)

        from ikalog.inputs import CVFile
        from ikalog.engine import IkaEngine
        from ikalog.outputs.preview import Screen
        from ikalog.outputs.debug import DebugLog

        self.errors = []
        source = CVFile()
        source.start_video_file(mp4_filename)
        source.need_resize = True
        outputPlugins = [
            self,
            Screen(0, size=(640, 360)),
            # DebugLog(dir='./debug/', screenshot=True),
        ]

        self.engine = IkaEngine()

        self.engine.set_capture(source)
        self.engine.set_plugins(outputPlugins)
        self.engine.pause(False)

        print('Engine started')
        try:
            self.engine.run()
        except EOFError:
            pass
        print('Engine stopped')

        # 期待されたイベントが全て発生しているか確認
        for event_name in list(self.event_tickets.keys()):
            if self.event_tickets[event_name] is None:
                continue
            assert self.event_tickets[event_name] == 0, 'Missed event %s? %s tickets remained.' % (
                event_name, self.event_tickets[event_name])

        assert len(self.errors) == 0, '\n'.join(self.errors)

        # unreference the engine
        engine = self.engine
        self.engine = None
        return engine