Jelajahi Sumber

doc: update

wangweimin 5 tahun lalu
induk
melakukan
1cdede155b

+ 1 - 1
docs/index.rst

@@ -32,7 +32,7 @@ PyPi安装::
 Hello, world
 --------------
 
-这是一个使用PywWebIO计算 `BMI指数 <https://en.wikipedia.org/wiki/Body_mass_index>`_ 的脚本::
+这是一个使用PyWebIO计算 `BMI指数 <https://en.wikipedia.org/wiki/Body_mass_index>`_ 的脚本::
 
     # A simple script to calculate BMI
     from pywebio.input import input, FLOAT

+ 16 - 1
pywebio/platform/flask.py

@@ -147,6 +147,14 @@ def webio_view(target, session_expire_seconds=DEFAULT_SESSION_EXPIRE_SECONDS, al
 
     :param target: 任务函数。任务函数为协程函数时,使用 :ref:`基于协程的会话实现 <coroutine_based_session>` ;任务函数为普通函数时,使用基于线程的会话实现。
     :param list allowed_origins: 除当前域名外,服务器还允许的请求的来源列表。
+        来源包含协议和域名和端口部分,允许使用 Unix shell 风格的匹配模式:
+
+        - ``*`` 为通配符
+        - ``?`` 匹配单个字符
+        - ``[seq]`` 匹配seq内的字符
+        - ``[!seq]`` 匹配不在seq内的字符
+
+        比如 ``https://*.example.com`` 、 ``*://*.example.com``
     :param session_expire_seconds: 会话不活跃过期时间。
     :param list allowed_origins: 除当前域名外,服务器还允许的请求的来源列表。
         来源包含协议和域名和端口部分,允许使用 ``*`` 作为通配符。 比如 ``https://*.example.com`` 、 ``*://*.example.com`` 、
@@ -197,7 +205,14 @@ def start_server(target, port=8080, host='localhost',
     :param port: server bind port. set ``0`` to find a free port number to use
     :param host: server bind host. ``host`` may be either an IP address or hostname.  If it's a hostname,
     :param list allowed_origins: 除当前域名外,服务器还允许的请求的来源列表。
-        来源包含协议和域名和端口部分,允许使用 ``*`` 作为通配符。 比如 ``https://*.example.com`` 、 ``*://*.example.com`` 、
+        来源包含协议和域名和端口部分,允许使用 Unix shell 风格的匹配模式:
+
+        - ``*`` 为通配符
+        - ``?`` 匹配单个字符
+        - ``[seq]`` 匹配seq内的字符
+        - ``[!seq]`` 匹配不在seq内的字符
+
+        比如 ``https://*.example.com`` 、 ``*://*.example.com``
     :param callable check_origin: 请求来源检查函数。接收请求来源(包含协议和域名和端口部分)字符串,
         返回 ``True/False`` 。若设置了 ``check_origin`` , ``allowed_origins`` 参数将被忽略
     :param disable_asyncio: 禁用 asyncio 函数。仅在当 ``session_type=COROUTINE_BASED`` 时有效。

+ 18 - 3
pywebio/platform/tornado.py

@@ -45,6 +45,7 @@ def _webio_handler(target, session_cls, check_origin_func=_is_same_site):
     """获取用于Tornado进行整合的RequestHandle类
 
     :param target: 任务函数
+    :param session_cls: 会话实现类
     :param callable check_origin_func: check_origin_func(origin, handler) -> bool
     :return: Tornado RequestHandle类
     """
@@ -99,7 +100,14 @@ def webio_handler(target, allowed_origins=None, check_origin=None):
 
     :param target: 任务函数。任务函数为协程函数时,使用 :ref:`基于协程的会话实现 <coroutine_based_session>` ;任务函数为普通函数时,使用基于线程的会话实现。
     :param list allowed_origins: 除当前域名外,服务器还允许的请求的来源列表。
-        来源包含协议和域名和端口部分,允许使用 ``*`` 作为通配符。 比如 ``https://*.example.com`` 、 ``*://*.example.com`` 、
+        来源包含协议和域名和端口部分,允许使用 Unix shell 风格的匹配模式:
+
+        - ``*`` 为通配符
+        - ``?`` 匹配单个字符
+        - ``[seq]`` 匹配seq内的字符
+        - ``[!seq]`` 匹配不在seq内的字符
+
+        比如 ``https://*.example.com`` 、 ``*://*.example.com`` 、
     :param callable check_origin: 请求来源检查函数。接收请求来源(包含协议和域名和端口部分)字符串,
         返回 ``True/False`` 。若设置了 ``check_origin`` , ``allowed_origins`` 参数将被忽略
     :return: Tornado RequestHandle类
@@ -157,10 +165,17 @@ def start_server(target, port=0, host='', debug=False,
         set empty string or to listen on all available interfaces.
     :param bool debug: Tornado debug mode
     :param list allowed_origins: 除当前域名外,服务器还允许的请求的来源列表。
-        来源包含协议和域名和端口部分,允许使用 ``*`` 作为通配符。 比如 ``https://*.example.com`` 、 ``*://*.example.com`` 、
+        来源包含协议和域名和端口部分,允许使用 Unix shell 风格的匹配模式:
+
+        - ``*`` 为通配符
+        - ``?`` 匹配单个字符
+        - ``[seq]`` 匹配seq内的字符
+        - ``[!seq]`` 匹配不在seq内的字符
+
+        比如 ``https://*.example.com`` 、 ``*://*.example.com``
     :param callable check_origin: 请求来源检查函数。接收请求来源(包含协议和域名和端口部分)字符串,
         返回 ``True/False`` 。若设置了 ``check_origin`` , ``allowed_origins`` 参数将被忽略
-    :param bool auto_open_webbrowser: Whether or not auto open web browser when server is started.
+    :param bool auto_open_webbrowser: Whether or not auto open web browser when server is started (if the operating system allows it) .
     :param int websocket_max_message_size: Max bytes of a message which Tornado can accept.
         Messages larger than the ``websocket_max_message_size`` (default 10MiB) will not be accepted.
     :param int websocket_ping_interval: If set to a number, all websockets will be pinged every n seconds.

+ 1 - 1
pywebio/session/base.py

@@ -43,7 +43,7 @@ class AbstractSession:
         """
         :param target:
         :param on_task_command: Backend向ession注册的处理函数,当 Session 收到task发送的command时调用
-        :param on_session_close: Backend向Session注册的处理函数,当 Session task执行结束时调用 *
+        :param on_session_close: Backend向Session注册的处理函数,当 Session task 执行结束时调用 *
         :param kwargs:
 
         .. note::

+ 6 - 0
pywebio/session/coroutinebased.py

@@ -257,6 +257,7 @@ class Task:
 
     @staticmethod
     def gen_coro_id(coro=None):
+        """生成协程id"""
         name = 'coro'
         if hasattr(coro, '__name__'):
             name = coro.__name__
@@ -264,6 +265,11 @@ class Task:
         return '%s-%s' % (name, random_str(10))
 
     def __init__(self, coro, session: CoroutineBasedSession, on_coro_stop=None):
+        """
+        :param coro: 协程对象
+        :param session: 创建该Task的会话实例
+        :param on_coro_stop: 任务结束(正常结束或外部调用Task.close)时运行的回调
+        """
         self.session = session
         self.coro = coro
         self.coro_id = None