当前位置: 首页>>代码示例>>Python>>正文


Python ExperimentUsage.append_command方法代码示例

本文整理汇总了Python中weblab.data.experiments.ExperimentUsage.append_command方法的典型用法代码示例。如果您正苦于以下问题:Python ExperimentUsage.append_command方法的具体用法?Python ExperimentUsage.append_command怎么用?Python ExperimentUsage.append_command使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在weblab.data.experiments.ExperimentUsage的用法示例。


在下文中一共展示了ExperimentUsage.append_command方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_return_get_experiment_uses_by_id

# 需要导入模块: from weblab.data.experiments import ExperimentUsage [as 别名]
# 或者: from weblab.data.experiments.ExperimentUsage import append_command [as 别名]
    def test_return_get_experiment_uses_by_id(self):
        expected_sess_id = SessionId.SessionId("whatever")

        expected_usage = ExperimentUsage(10, time.time(), time.time(), '127.0.0.1', ExperimentId("exp","cat"))

        command_sent = CommandSent(Command.Command("request"), time.time(), Command.Command("response"), time.time())
        expected_usage.append_command(command_sent)

        loaded_file_sent = LoadedFileSent('content-of-the-file', time.time(), Command.Command("response"), time.time(), 'program')
        expected_usage.append_file(loaded_file_sent)

        expected_finished_result  = FinishedReservationResult(expected_usage)
        expected_alive_result     = WaitingReservationResult()
        expected_cancelled_result = CancelledReservationResult()

        self.mock_ups.return_values['get_experiment_uses_by_id'] = (expected_finished_result, expected_alive_result, expected_cancelled_result)

        results = self.rfm.get_experiment_uses_by_id(expected_sess_id, (SessionId.SessionId('reservation'), SessionId.SessionId('reservation2'), SessionId.SessionId('reservation3') ))

        self.assertEquals(3, len(results))
        self.assertEquals(expected_finished_result.status,  results[0].status)
        self.assertEquals(expected_alive_result.status,     results[1].status)
        self.assertEquals(expected_cancelled_result.status, results[2].status)

        self.assertEquals(expected_usage, expected_finished_result.experiment_use)
开发者ID:arobles1980,项目名称:weblabdeusto,代码行数:27,代码来源:test_user_manager.py

示例2: create_usage

# 需要导入模块: from weblab.data.experiments import ExperimentUsage [as 别名]
# 或者: from weblab.data.experiments.ExperimentUsage import append_command [as 别名]
def create_usage(gateway, reservation_id = 'my_reservation_id'):
        session = gateway.Session()
        try:
            student1 = gateway._get_user(session, 'student1')

            initial_usage = ExperimentUsage()
            initial_usage.start_date    = time.time()
            initial_usage.end_date      = time.time()
            initial_usage.from_ip       = "130.206.138.16"
            initial_usage.experiment_id = ExperimentId("ud-dummy","Dummy experiments")
            initial_usage.coord_address = CoordAddress("machine1","instance1","server1")
            initial_usage.reservation_id = reservation_id

            file1 = FileSent(
                        'path/to/file1',
                        '{sha}12345',
                        time.time()
                )

            file2 = FileSent(
                        'path/to/file2',
                        '{sha}123456',
                        time.time(),
                        Command.Command('response'),
                        time.time(),
                        file_info = 'program'
                )

            command1 = CommandSent(
                        Command.Command("your command1"),
                        time.time()
                )

            command2 = CommandSent(
                        Command.Command("your command2"),
                        time.time(),
                        Command.Command("your response2"),
                        time.time()
                )

            initial_usage.append_command(command1)
            initial_usage.append_command(command2)
            initial_usage.append_file(file1)
            initial_usage.append_file(file2)
            initial_usage.request_info = {'facebook' : False, 'permission_scope' : 'user', 'permission_id' : student1.id}
            gateway.store_experiment_usage(student1.login, initial_usage)
            return student1, initial_usage, command1, command2, file1, file2
        finally:
            session.close()
开发者ID:JamesHyunKim,项目名称:weblabdeusto,代码行数:51,代码来源:test_db.py

示例3: _parse_experiment_result

# 需要导入模块: from weblab.data.experiments import ExperimentUsage [as 别名]
# 或者: from weblab.data.experiments.ExperimentUsage import append_command [as 别名]
    def _parse_experiment_result(self, experiment_result):
        if experiment_result['status'] == ReservationResult.ALIVE:
            if experiment_result['running']:
                return RunningReservationResult()
            else:
                return WaitingReservationResult()
        elif experiment_result['status'] == ReservationResult.CANCELLED:
            return CancelledReservationResult()
        elif experiment_result['status'] == ReservationResult.FORBIDDEN:
            return ForbiddenReservationResult()

        experiment_use = experiment_result['experiment_use']

        experiment_id = ExperimentId(experiment_use['experiment_id']['exp_name'], experiment_use['experiment_id']['cat_name'])

        addr = experiment_use['coord_address']
        if 'machine_id' in addr:
            coord_address = CoordAddress(addr['machine_id'],addr['instance_id'],addr['server_id'])
        else:
            coord_address = CoordAddress(addr['host'],addr['process'],addr['component'])

        use = ExperimentUsage(experiment_use['experiment_use_id'], experiment_use['start_date'], experiment_use['end_date'], experiment_use['from_ip'], experiment_id, experiment_use['reservation_id'], coord_address, experiment_use['request_info'])
        for sent_file in experiment_use['sent_files']:
            response = Command(sent_file['response']['commandstring']) if 'commandstring' in sent_file['response'] and sent_file['response'] is not None else NullCommand
            if sent_file['file_info'] == {}:
                file_info = None
            else:
                file_info = sent_file['file_info']
            unserialized_sent_file = LoadedFileSent( sent_file['file_content'], sent_file['timestamp_before'], response, sent_file['timestamp_after'], file_info)
            use.append_file(unserialized_sent_file)

        for command in experiment_use['commands']:
            request = Command(command['command']['commandstring']) if 'commandstring' in command['command'] and command['command'] is not None else NullCommand
            response_command = command['response']['commandstring'] if 'commandstring' in command['response'] and command['response'] is not None else None
            if response_command is None or response_command == {}:
                response = NullCommand()
            else:
                response = Command(response_command)
            
            if command['timestamp_after'] is None or command['timestamp_after'] == {}:
                timestamp_after = None
            else:
                timestamp_after = command['timestamp_after']
            unserialized_command = CommandSent(request, command['timestamp_before'], response, timestamp_after)
            use.append_command(unserialized_command)
        return FinishedReservationResult(use)
开发者ID:zstars,项目名称:weblabdeusto,代码行数:48,代码来源:weblabdeusto.py

示例4: test_get_experiment_uses_by_id

# 需要导入模块: from weblab.data.experiments import ExperimentUsage [as 别名]
# 或者: from weblab.data.experiments.ExperimentUsage import append_command [as 别名]
    def test_get_experiment_uses_by_id(self):
        port = 15131
        self.configurationManager._set_value(self.rfs.FACADE_JSON_PORT, port)
        self.rfs.start()
        try:
            client = WebLabDeustoClient("http://localhost:%s/weblab/" % port)

            expected_sess_id = SessionId.SessionId("whatever")
            expected_usage = ExperimentUsage(10, time.time(), time.time(), '127.0.0.1', ExperimentId("exp","cat"), 'reser1', CoordAddress('machine','instance','server'))

            command_sent = CommandSent(Command.Command("request"), time.time(), Command.Command("response"), time.time())
            expected_usage.append_command(command_sent)

            loaded_file_sent = LoadedFileSent('content-of-the-file', time.time(), Command.Command("response"), time.time(), 'program')
            expected_usage.append_file(loaded_file_sent)

            expected_finished_result  = FinishedReservationResult(expected_usage)
            expected_alive_result     = RunningReservationResult()
            expected_cancelled_result = CancelledReservationResult()

            self.mock_server.return_values['get_experiment_uses_by_id'] = (expected_finished_result, expected_alive_result, expected_cancelled_result)

            expected_reservations = (SessionId.SessionId('reservation'), SessionId.SessionId('reservation2'), SessionId.SessionId('reservation3') )

            results = client.get_experiment_uses_by_id(expected_sess_id, expected_reservations)

            self.assertEquals( expected_sess_id.id, self.mock_server.arguments['get_experiment_uses_by_id'][0])
            self.assertEquals( expected_reservations, tuple(self.mock_server.arguments['get_experiment_uses_by_id'][1]))


            self.assertEquals(3, len(results))
            self.assertEquals(expected_finished_result.status,  results[0].status)
            self.assertEquals(expected_alive_result.status,     results[1].status)
            self.assertEquals(expected_cancelled_result.status, results[2].status)

            self.assertEquals(expected_usage, results[0].experiment_use)

        finally:
            self.rfs.stop()
开发者ID:gmartinvela,项目名称:weblabdeusto,代码行数:41,代码来源:test_integrating.py

示例5: test_add_file

# 需要导入模块: from weblab.data.experiments import ExperimentUsage [as 别名]
# 或者: from weblab.data.experiments.ExperimentUsage import append_command [as 别名]
    def test_add_file(self):
        session = self.gateway.Session()
        student1 = self.gateway._get_user(session, 'student1')

        RESERVATION_ID1 = 'my_reservation_id1'
        RESERVATION_ID2 = 'my_reservation_id2'

        usage1 = ExperimentUsage()
        usage1.start_date    = time.time()
        usage1.end_date      = time.time()
        usage1.from_ip       = "130.206.138.16"
        usage1.experiment_id = ExperimentId("ud-dummy","Dummy experiments")
        usage1.coord_address = CoordAddress.CoordAddress("machine1","instance1","server1") #.translate_address("server1:[email protected]")
        usage1.reservation_id = RESERVATION_ID1

        command1 = CommandSent(
                    Command.Command("your command1"),
                    time.time(),
                    Command.Command("your response1"),
                    time.time()
            )

        usage1.append_command(command1)
        usage1.request_info  = {'facebook' : False}

        usage2 = ExperimentUsage()
        usage2.start_date    = time.time()
        usage2.end_date      = time.time()
        usage2.from_ip       = "130.206.138.17"
        usage2.experiment_id = ExperimentId("ud-dummy","Dummy experiments")
        usage2.coord_address = CoordAddress.CoordAddress("machine1","instance1","server1") #.translate_address("server1:[email protected]")
        usage2.reservation_id = RESERVATION_ID2

        command2 = CommandSent(
                    Command.Command("your command2"),
                    time.time(),
                    Command.Command("your response2"),
                    time.time()
            )

        usage2.append_command(command2)
        usage2.request_info  = {'facebook' : False}

        self.gateway.store_experiment_usage(student1.login, usage1)
        self.gateway.store_experiment_usage(student1.login, usage2)

        file_sent1 = FileSent(
                    'path/to/file2',
                    '{sha}123456',
                    time.time(),
                    Command.Command('response'),
                    time.time(),
                    file_info = 'program'
            )

        usages = self.gateway.list_usages_per_user(student1.login)
        self.assertEquals(2, len(usages))

        full_usage1 = self.gateway.retrieve_usage(usages[0].experiment_use_id)
        full_usage2 = self.gateway.retrieve_usage(usages[1].experiment_use_id)

        self.assertEquals(1, len(full_usage1.commands))
        self.assertEquals(1, len(full_usage2.commands))
        self.assertEquals(0, len(full_usage1.sent_files))
        self.assertEquals(0, len(full_usage2.sent_files))

        self.gateway.append_file(RESERVATION_ID1, file_sent1)

        full_usage1 = self.gateway.retrieve_usage(usages[0].experiment_use_id)
        full_usage2 = self.gateway.retrieve_usage(usages[1].experiment_use_id)

        self.assertEquals(1, len(full_usage1.commands))
        self.assertEquals(1, len(full_usage2.commands))
        self.assertEquals(1, len(full_usage1.sent_files))
        self.assertEquals(0, len(full_usage2.sent_files))

        self.assertEquals("response",       full_usage1.sent_files[0].response.commandstring)
开发者ID:slok,项目名称:weblabdeusto,代码行数:79,代码来源:test_gateway.py

示例6: test_finish_experiment_usage

# 需要导入模块: from weblab.data.experiments import ExperimentUsage [as 别名]
# 或者: from weblab.data.experiments.ExperimentUsage import append_command [as 别名]
    def test_finish_experiment_usage(self):
        session = self.gateway.Session()
        student1 = self.gateway._get_user(session, 'student1')

        RESERVATION_ID1 = 'my_reservation_id1'
        RESERVATION_ID2 = 'my_reservation_id2'

        usage1 = ExperimentUsage()
        usage1.start_date    = time.time()
        usage1.from_ip       = "130.206.138.16"
        usage1.experiment_id = ExperimentId("ud-dummy","Dummy experiments")
        usage1.coord_address = CoordAddress.CoordAddress("machine1","instance1","server1") #.translate_address("server1:[email protected]")
        usage1.reservation_id = RESERVATION_ID1

        command1 = CommandSent(
                    Command.Command("your command1"),
                    time.time(),
                    Command.Command("your response1"),
                    time.time()
            )

        usage1.append_command(command1)
        usage1.request_info  = {'facebook' : False}

        usage2 = ExperimentUsage()
        usage2.start_date    = time.time()
        usage2.from_ip       = "130.206.138.17"
        usage2.experiment_id = ExperimentId("ud-dummy","Dummy experiments")
        usage2.coord_address = CoordAddress.CoordAddress("machine1","instance1","server1") #.translate_address("server1:[email protected]")
        usage2.reservation_id = RESERVATION_ID2

        command2 = CommandSent(
                    Command.Command("your command2"),
                    time.time(),
                    Command.Command("your response2"),
                    time.time()
            )

        usage2.append_command(command2)
        usage2.request_info  = {'facebook' : False}

        self.gateway.store_experiment_usage(student1.login, usage1)
        self.gateway.store_experiment_usage(student1.login, usage2)

        finishing_command = CommandSent(
                    Command.Command("@@@[email protected]@@"),
                    time.time(),
                    Command.Command("finish"),
                    time.time()
            )

        usages = self.gateway.list_usages_per_user(student1.login)
        self.assertEquals(2, len(usages))

        full_usage1 = self.gateway.retrieve_usage(usages[0].experiment_use_id)
        full_usage2 = self.gateway.retrieve_usage(usages[1].experiment_use_id)

        self.assertEquals(None, full_usage1.end_date)
        self.assertEquals(None, full_usage2.end_date)

        self.assertEquals(1, len(full_usage1.commands))
        self.assertEquals(1, len(full_usage2.commands))

        result = self.gateway.finish_experiment_usage(RESERVATION_ID1, time.time(), finishing_command)

        self.assertTrue(result)

        full_usage1 = self.gateway.retrieve_usage(usages[0].experiment_use_id)
        full_usage2 = self.gateway.retrieve_usage(usages[1].experiment_use_id)

        self.assertNotEqual(None, full_usage1.end_date)
        self.assertEquals(None, full_usage2.end_date)

        self.assertEquals(2, len(full_usage1.commands))
        self.assertEquals(1, len(full_usage2.commands))

        self.assertEquals("@@@[email protected]@@", full_usage1.commands[1].command.commandstring)
        self.assertEquals("finish",       full_usage1.commands[1].response.commandstring)
开发者ID:slok,项目名称:weblabdeusto,代码行数:80,代码来源:test_gateway.py

示例7: _store_two_reservations

# 需要导入模块: from weblab.data.experiments import ExperimentUsage [as 别名]
# 或者: from weblab.data.experiments.ExperimentUsage import append_command [as 别名]
    def _store_two_reservations(self):
        #
        # Two users: student2, that started before "any" but finished after "any", and "any" then. Both use
        # the same experiment.
        #
        db_gw = self.ups._db_manager
        session = db_gw.Session()
        try:
            student1 = db_gw._get_user(session, 'student1')
            student2 = db_gw._get_user(session, 'student2')
        finally:
            session.close()

        reservation_id1 = SessionId.SessionId(u'5')

        initial_usage1 = ExperimentUsage()
        initial_usage1.start_date    = time.time()
        initial_usage1.end_date      = time.time()
        initial_usage1.from_ip       = u"130.206.138.16"
        initial_usage1.experiment_id = ExperimentId(u"ud-dummy",u"Dummy experiments")
        initial_usage1.coord_address = CoordAddress(u"machine1",u"instance1",u"server1")
        initial_usage1.reservation_id = reservation_id1.id
        initial_usage1.request_info = { 'permission_scope' : 'user', 'permission_id' : student1.id }

        valid_file_path = os.path.relpath(os.sep.join(('test','__init__.py')))
        file1 = FileSent( valid_file_path, u'{sha}12345', time.time())

        file2 = FileSent( valid_file_path, u'{sha}123456',
                    time.time(), Command(u'response'),
                    time.time(), file_info = u'program')

        command1 = CommandSent( Command(u"your command1"), time.time())
        command2 = CommandSent( Command(u"your command2"), time.time(),
                    Command(u"your response2"), time.time())

        initial_usage1.append_command(command1)
        initial_usage1.append_command(command2)
        initial_usage1.append_file(file1)
        initial_usage1.append_file(file2)

        reservation_id2 = SessionId.SessionId(u'6')

        initial_usage2 = ExperimentUsage()
        initial_usage2.start_date    = time.time()
        initial_usage2.end_date      = time.time()
        initial_usage2.from_ip       = u"130.206.138.16"
        initial_usage2.experiment_id = ExperimentId(u"ud-dummy",u"Dummy experiments")
        initial_usage2.coord_address = CoordAddress(u"machine1",u"instance1",u"server1")
        initial_usage2.reservation_id = reservation_id2.id
        initial_usage2.request_info = { 'permission_scope' : 'user', 'permission_id' : student2.id }

        file1 = FileSent( valid_file_path, u'{sha}12345', time.time())

        file2 = FileSent( valid_file_path, u'{sha}123456',
                    time.time(), Command(u'response'),
                    time.time(), file_info = u'program')

        command1 = CommandSent( Command(u"your command1"), time.time())

        command2 = CommandSent( Command(u"your command2"), time.time(),
                    Command(u"your response2"), time.time())

        initial_usage2.append_command(command1)
        initial_usage2.append_command(command2)
        initial_usage2.append_file(file1)
        initial_usage2.append_file(file2)

        self.ups._db_manager.store_experiment_usage('student1', initial_usage1)

        self.ups._db_manager.store_experiment_usage('student2', initial_usage2)

        return (reservation_id1, reservation_id2), (initial_usage1, initial_usage2)
开发者ID:Kiolali,项目名称:weblabdeusto,代码行数:74,代码来源:test_server.py

示例8: test_add_command

# 需要导入模块: from weblab.data.experiments import ExperimentUsage [as 别名]
# 或者: from weblab.data.experiments.ExperimentUsage import append_command [as 别名]
    def test_add_command(self):
        student1 = self.gateway._get_user(self.session, 'student1')

        RESERVATION_ID1 = 'my_reservation_id1'
        RESERVATION_ID2 = 'my_reservation_id2'

        usage1 = ExperimentUsage()
        usage1.start_date    = time.time()
        usage1.end_date      = time.time()
        usage1.from_ip       = "130.206.138.16"
        usage1.experiment_id = ExperimentId("ud-dummy","Dummy experiments")
        usage1.coord_address = CoordAddress("machine1","instance1","server1")
        usage1.reservation_id = RESERVATION_ID1

        command1 = CommandSent(
                    Command.Command("your command1"),
                    time.time(),
                    Command.Command("your response1"),
                    time.time()
            )

        usage1.append_command(command1)
        usage1.request_info = {'facebook' : False, 'permission_scope' : 'user', 'permission_id' : student1.id}

        usage2 = ExperimentUsage()
        usage2.start_date    = time.time()
        usage2.end_date      = time.time()
        usage2.from_ip       = "130.206.138.17"
        usage2.experiment_id = ExperimentId("ud-dummy","Dummy experiments")
        usage2.coord_address = CoordAddress("machine1","instance1","server1")
        usage2.reservation_id = RESERVATION_ID2

        command2 = CommandSent(
                    Command.Command("your command2"),
                    time.time(),
                    Command.Command("your response2"),
                    time.time()
            )

        usage2.append_command(command2)
        usage2.request_info = {'facebook' : False, 'permission_scope' : 'user', 'permission_id' : student1.id}

        self.gateway.store_experiment_usage(student1.login, usage1)
        self.gateway.store_experiment_usage(student1.login, usage2)

        batch_command = CommandSent(
                    Command.Command("@@@[email protected]@@"),
                    time.time(),
                    Command.Command("batch"),
                    time.time()
            )

        finishing_command = CommandSent(
                    Command.Command("@@@[email protected]@@"),
                    time.time(),
                    Command.Command("finish"),
                    time.time()
            )

        usages = self.gateway.list_usages_per_user(student1.login)
        self.assertEquals(2, len(usages))

        full_usage1 = self.gateway.retrieve_usage(usages[0].experiment_use_id)
        full_usage2 = self.gateway.retrieve_usage(usages[1].experiment_use_id)

        self.assertEquals(1, len(full_usage1.commands))
        self.assertEquals(1, len(full_usage2.commands))

        self.gateway.append_command(RESERVATION_ID1, batch_command)
        self.gateway.append_command(RESERVATION_ID2, finishing_command)

        full_usage1 = self.gateway.retrieve_usage(usages[0].experiment_use_id)
        full_usage2 = self.gateway.retrieve_usage(usages[1].experiment_use_id)

        self.assertEquals(2, len(full_usage1.commands))
        self.assertEquals(2, len(full_usage2.commands))

        self.assertEquals("@@@[email protected]@@", full_usage1.commands[1].command.commandstring)
        self.assertEquals("batch",       full_usage1.commands[1].response.commandstring)

        self.assertEquals("@@@[email protected]@@", full_usage2.commands[1].command.commandstring)
        self.assertEquals("finish",       full_usage2.commands[1].response.commandstring)
开发者ID:JamesHyunKim,项目名称:weblabdeusto,代码行数:84,代码来源:test_db.py


注:本文中的weblab.data.experiments.ExperimentUsage.append_command方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。