當前位置: 首頁>>代碼示例>>Python>>正文


Python trio.run方法代碼示例

本文整理匯總了Python中trio.run方法的典型用法代碼示例。如果您正苦於以下問題:Python trio.run方法的具體用法?Python trio.run怎麽用?Python trio.run使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在trio的用法示例。


在下文中一共展示了trio.run方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: agent

# 需要導入模塊: import trio [as 別名]
# 或者: from trio import run [as 別名]
def agent(options=None):
    import trio
    from burpui.engines.agent import BUIAgent as Agent
    from burpui.utils import lookup_file

    if not options:
        options, _ = parse_args(mode=False, name='bui-agent')

    conf = ['buiagent.cfg', 'buiagent.sample.cfg']
    if options.config:
        conf = lookup_file(options.config, guess=False)
    else:
        conf = lookup_file(conf)
    check_config(conf)

    agent = Agent(conf, options.log, options.logfile)
    trio.run(agent.run) 
開發者ID:ziirish,項目名稱:burp-ui,代碼行數:19,代碼來源:__main__.py

示例2: monitor

# 需要導入模塊: import trio [as 別名]
# 或者: from trio import run [as 別名]
def monitor(options=None):
    import trio
    from burpui.engines.monitor import MonitorPool
    from burpui.utils import lookup_file

    if not options:
        options, _ = parse_args(mode=False, name='bui-agent')

    conf = ['buimonitor.cfg', 'buimonitor.sample.cfg']
    if options.config:
        conf = lookup_file(options.config, guess=False)
    else:
        conf = lookup_file(conf)
    check_config(conf)

    monitor = MonitorPool(conf, options.log, options.logfile)
    trio.run(monitor.run) 
開發者ID:ziirish,項目名稱:burp-ui,代碼行數:19,代碼來源:__main__.py

示例3: restore_files

# 需要導入模塊: import trio [as 別名]
# 或者: from trio import run [as 別名]
def restore_files(self, name=None, backup=None, files=None, strip=None,
                      archive='zip', password=None, agent=None):
        return trio.run(self._async_restore_files, name, backup, files, strip, archive, password, agent)

    # Same as in Burp1 backend

    # def read_conf_cli(self, agent=None):

    # def read_conf_srv(self, agent=None):

    # def store_conf_cli(self, data, agent=None):

    # def store_conf_srv(self, data, agent=None):

    # def get_parser_attr(self, attr=None, agent=None):


# Make every "Burp" method async 
開發者ID:ziirish,項目名稱:burp-ui,代碼行數:20,代碼來源:parallel.py

示例4: monitor

# 需要導入模塊: import trio [as 別名]
# 或者: from trio import run [as 別名]
def monitor(options=None):
    import trio
    from burpui_monitor.engines.monitor import MonitorPool
    from burpui_monitor.utils import lookup_file

    if not options:
        options = parse_args(name='bui-monitor')

    conf = ['buimonitor.cfg', 'buimonitor.sample.cfg']
    if options.config:
        conf = lookup_file(options.config, guess=False)
    else:
        conf = lookup_file(conf)
    check_config(conf)

    monitor = MonitorPool(conf, options.log, options.logfile)
    trio.run(monitor.run) 
開發者ID:ziirish,項目名稱:burp-ui,代碼行數:19,代碼來源:__main__.py

示例5: agent

# 需要導入模塊: import trio [as 別名]
# 或者: from trio import run [as 別名]
def agent(options=None):
    import trio
    from burpui_agent.engines.agent import BUIAgent as Agent
    from burpui_agent.utils import lookup_file
    from burpui_agent._compat import patch_json

    patch_json()

    if not options:
        options = parse_args(name='bui-agent')

    conf = ['buiagent.cfg', 'buiagent.sample.cfg']
    if options.config:
        conf = lookup_file(options.config, guess=False)
    else:
        conf = lookup_file(conf)
    check_config(conf)

    agent = Agent(conf, options.log, options.logfile)
    trio.run(agent.run) 
開發者ID:ziirish,項目名稱:burp-ui,代碼行數:22,代碼來源:__main__.py

示例6: test_sans_io_exception

# 需要導入模塊: import trio [as 別名]
# 或者: from trio import run [as 別名]
def test_sans_io_exception():
    class BrokenSender(AsyncHTTPSender):
        async def send(self, request, **config):
            raise ValueError("Broken")

        async def __aexit__(self, exc_type, exc_value, traceback):
            """Raise any exception triggered within the runtime context."""
            return None

    pipeline = AsyncPipeline([SansIOHTTPPolicy()], BrokenSender())

    req = ClientRequest('GET', '/')
    with pytest.raises(ValueError):
        await pipeline.run(req)

    class SwapExec(SansIOHTTPPolicy):
        def on_exception(self, requests, **kwargs):
            exc_type, exc_value, exc_traceback = sys.exc_info()
            raise NotImplementedError(exc_value)

    pipeline = AsyncPipeline([SwapExec()], BrokenSender())
    with pytest.raises(NotImplementedError):
        await pipeline.run(req) 
開發者ID:Azure,項目名稱:msrest-for-python,代碼行數:25,代碼來源:test_pipeline.py

示例7: get_sign

# 需要導入模塊: import trio [as 別名]
# 或者: from trio import run [as 別名]
def get_sign(self, token, query):
        '''使用拚裝參數簽名
        post https://api.appsign.vip:2688/sign -->
        {
            "token":"TOKEN",
            "query":"通過參數生成的加簽字符串"
        }
        >>> data, res = trio.run(SignUtil().get_sign, 'aaa', {"aaa":"aaa"})
        >>> print(res)
        {'success': False, 'error': 'token is error'}
        '''
        assert isinstance(query, dict)
        url = f"{_API}/sign"
        resp = await self.s.post(url, json={"token": token, "query": params2str(query)}, verify=False)
        logging.debug(f"post response from {url} is {resp} with body: {trim(resp.text)}")
        return resp.json().get('data', {}), resp.json() 
開發者ID:HeLiangHIT,項目名稱:douyin_downloader,代碼行數:18,代碼來源:util.py

示例8: migrate

# 需要導入模塊: import trio [as 別名]
# 或者: from trio import run [as 別名]
def migrate(credentials_file, credentials_blob, table):
    """
    Synchronizes the BigQuery table schema.

    TABLE is a BigQuery table identifier of the form ProjectId.DataSetId.TableId.
    """
    bq = _configure_bigquery(credentials_file, credentials_blob)
    schema = json.loads(importlib_resources.read_text("linehaul", "schema.json"))

    trio.run(migrate_, bq, table, schema) 
開發者ID:pypa,項目名稱:linehaul,代碼行數:12,代碼來源:cli.py

示例9: serve

# 需要導入模塊: import trio [as 別名]
# 或者: from trio import run [as 別名]
def serve(
    app: ASGIFramework,
    config: Config,
    *,
    shutdown_trigger: Optional[Callable[..., Awaitable[None]]] = None,
    task_status: trio._core._run._TaskStatus = trio.TASK_STATUS_IGNORED,
) -> None:
    """Serve an ASGI framework app given the config.

    This allows for a programmatic way to serve an ASGI framework, it
    can be used via,

    .. code-block:: python

        trio.run(partial(serve, app, config))

    It is assumed that the event-loop is configured before calling
    this function, therefore configuration values that relate to loop
    setup or process setup are ignored.

    Arguments:
        app: The ASGI application to serve.
        config: A Hypercorn configuration object.
        shutdown_trigger: This should return to trigger a graceful
            shutdown.
    """
    if config.debug:
        warnings.warn("The config `debug` has no affect when using serve", Warning)
    if config.workers != 1:
        warnings.warn("The config `workers` has no affect when using serve", Warning)

    await worker_serve(app, config, shutdown_trigger=shutdown_trigger, task_status=task_status) 
開發者ID:pgjones,項目名稱:hypercorn,代碼行數:34,代碼來源:__init__.py

示例10: trio_worker

# 需要導入模塊: import trio [as 別名]
# 或者: from trio import run [as 別名]
def trio_worker(
    config: Config, sockets: Optional[Sockets] = None, shutdown_event: Optional[EventType] = None
) -> None:
    if sockets is not None:
        for sock in sockets.secure_sockets:
            sock.listen(config.backlog)
        for sock in sockets.insecure_sockets:
            sock.listen(config.backlog)
    app = load_application(config.application_path)

    shutdown_trigger = None
    if shutdown_event is not None:
        shutdown_trigger = partial(check_multiprocess_shutdown_event, shutdown_event, trio.sleep)

    trio.run(partial(worker_serve, app, config, sockets=sockets, shutdown_trigger=shutdown_trigger)) 
開發者ID:pgjones,項目名稱:hypercorn,代碼行數:17,代碼來源:run.py

示例11: trio_run

# 需要導入模塊: import trio [as 別名]
# 或者: from trio import run [as 別名]
def trio_run(async_fn, *args, use_asyncio=False, monitor_tasks=True):
    if use_asyncio:
        # trio_asyncio is an optional dependency
        import trio_asyncio

        return trio_asyncio.run(async_fn, *args)
    instruments = (TaskMonitoringInstrument(),) if monitor_tasks else ()
    return trio.run(async_fn, *args, instruments=instruments)


# MultiError handling 
開發者ID:Scille,項目名稱:parsec-cloud,代碼行數:13,代碼來源:utils.py

示例12: test_on_trio_loop_closed

# 需要導入模塊: import trio [as 別名]
# 或者: from trio import run [as 別名]
def test_on_trio_loop_closed(monkeypatch):
    trio_loop_closed = threading.Event()
    vanilla_trio_run = trio.run

    def patched_trio_run(*args, **kwargs):
        try:
            vanilla_trio_run(*args, **kwargs)
        finally:
            trio_loop_closed.set()

    monkeypatch.setattr("trio.run", patched_trio_run)

    on_success = MagicMock(spec=ThreadSafeQtSignal, args_types=())
    on_error_j1 = MagicMock(spec=ThreadSafeQtSignal, args_types=())
    on_error_j2 = MagicMock(spec=ThreadSafeQtSignal, args_types=())
    with run_trio_thread() as job_scheduler:
        job1 = job_scheduler.submit_job(on_success, on_error_j1, trio.sleep_forever)

        # Stop the trio loop
        job_scheduler.stop()
        trio_loop_closed.wait()

        # Stop is idempotent
        job_scheduler.stop()

        # Cancelling job is still ok
        job1.cancel_and_join()
        on_success.emit.assert_not_called()
        on_error_j1.emit.assert_called_once()
        assert job1.status == "cancelled"
        assert isinstance(job1.exc, trio.Cancelled)

        # New jobs are directly cancelled
        job2 = job_scheduler.submit_job(on_success, on_error_j2, lambda: None)
        on_success.emit.assert_not_called()
        on_error_j2.emit.assert_called_once()
        assert job2.status == "cancelled"
        assert isinstance(job2.exc, JobSchedulerNotAvailable) 
開發者ID:Scille,項目名稱:parsec-cloud,代碼行數:40,代碼來源:test_trio_thread.py

示例13: smallcheck

# 需要導入模塊: import trio [as 別名]
# 或者: from trio import run [as 別名]
def smallcheck():
    return trio.run(_do_check_new_version, gui_check_version_url, gui_check_version_api_url) 
開發者ID:Scille,項目名稱:parsec-cloud,代碼行數:4,代碼來源:test_new_version.py

示例14: server

# 需要導入模塊: import trio [as 別名]
# 或者: from trio import run [as 別名]
def server(options=None, unknown=None):
    from burpui.utils import lookup_file

    if unknown is None:
        unknown = []
    if not options:
        options, unknown = parse_args(mode=False)
    env = os.environ

    if options.config:
        conf = lookup_file(options.config, guess=False)
    else:
        if 'BUI_CONFIG' in env:
            conf = env['BUI_CONFIG']
        else:
            conf = lookup_file()
    check_config(conf)

    if os.path.isdir('burpui'):
        env['FLASK_APP'] = 'burpui/cli.py'
    else:
        env['FLASK_APP'] = 'burpui.cli'
    env['BUI_CONFIG'] = conf
    env['BUI_VERBOSE'] = str(options.log)
    if options.logfile:
        env['BUI_LOGFILE'] = options.logfile
    if options.debug:
        env['BUI_DEBUG'] = '1'
        env['FLASK_DEBUG'] = '1'
    env['BUI_MODE'] = 'server'

    args = [
        'flask',
        'run'
    ]
    args += unknown
    args += [x for x in options.remaining if x != '--']

    os.execvpe(args[0], args, env) 
開發者ID:ziirish,項目名稱:burp-ui,代碼行數:41,代碼來源:__main__.py

示例15: batch_list_supported

# 需要導入模塊: import trio [as 別名]
# 或者: from trio import run [as 別名]
def batch_list_supported(self):
        if self._batch_list_supported is None:
            self._batch_list_supported = json.loads(trio.run(self._async_request, 'batch_list_supported'))
        return self._batch_list_supported 
開發者ID:ziirish,項目名稱:burp-ui,代碼行數:6,代碼來源:parallel.py


注:本文中的trio.run方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。