python类Optional()的实例源码

db.py 文件源码 项目:djaio 作者: Sberned 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def first(self, query: str, values: Union[List, Dict],
                    db_name: str = 'default') -> Optional[DictRow]:
        return await self._first(query=query, values=values, db_name=db_name)
pubsub.py 文件源码 项目:modernpython 作者: rhettinger 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def post_message(user: User, text: str, timestamp: Optional[Timestamp]=None) -> None:
    user = intern(user)
    timestamp = timestamp or time()
    post = Post(timestamp, user, text)
    posts.appendleft(post)
    user_posts[user].appendleft(post)
pubsub.py 文件源码 项目:modernpython 作者: rhettinger 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def posts_by_user(user: User, limit: Optional[int] = None) -> List[Post]:
    return list(islice(user_posts[user], limit))
pubsub.py 文件源码 项目:modernpython 作者: rhettinger 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def posts_for_user(user: User, limit: Optional[int] = None) -> List[Post]:
    relevant = merge(*[user_posts[u] for u in following[user]], reverse=True)
    return list(islice(relevant, limit))
pubsub.py 文件源码 项目:modernpython 作者: rhettinger 项目源码 文件源码 阅读 32 收藏 0 点赞 0 评论 0
def search(phrase:str, limit: Optional[int] = None) -> List[Post]:
    # XXX this could benefit from caching and from preindexing
    return list(islice((post for post in posts if phrase in post.text), limit))
pubsub.py 文件源码 项目:modernpython 作者: rhettinger 项目源码 文件源码 阅读 27 收藏 0 点赞 0 评论 0
def hash_password(password: str, salt: Optional[bytes] = None) -> HashAndSalt:
    pepper = b'alchemists discovered that gold came from earth air fire and water'
    salt = salt or secrets.token_bytes(16)
    salted_pass = salt + password.encode('utf-8')
    return hashlib.pbkdf2_hmac('sha512', salted_pass, pepper, 100000), salt
helpers.py 文件源码 项目:pylongecity 作者: cyrbon 项目源码 文件源码 阅读 27 收藏 0 点赞 0 评论 0
def write_and_open_in_browser(html: str, filepath: Optional[str]):
    ''' Writes html to filepath and opens it. '''
    file = NamedTemporaryFile('w', encoding='utf-8', delete=False) if filepath is None else open(filepath, 'w', encoding='utf-8')
    file.write(html)
    file.close()
    webbrowser.open(file.name)
helpers.py 文件源码 项目:pylongecity 作者: cyrbon 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def render(posts: Iterable[Post], output_filepath: Optional[str] = None):
    ''' Puts html from posts into output_filepath (.html) and opens that in a specified browser '''
    posts = list(posts)
    if posts:
        write_and_open_in_browser(render_to_html(posts), output_filepath)
    else: print('Nothing found')
qqhtml.py 文件源码 项目:qqmbr 作者: ischurov 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def split_by_predicate(seq: Sequence[T],
                       predicate,
                       zero_delim: Optional[T]=None) \
        -> Iterator[Sequence[T]]:
    """
    Splits a sequence by delimeters that satisfy predicate,
    keeping the delimeters

    split_by_predicate([0, "One", 1, 2, 3,
                    "Two", 4, 5, 6, 7, "Three", "Four"],
                    predicate=lambda x: isinstance(x, str),
                    zero_delim="Nothing")

    [["Nothing", 0], ["One", 1, 2, 3], ["Two", 4, 5, 6, 7],
    ["Three"], ["Four"]]

    :param seq: sequence to proceed
    :param predicate: checks whether element is delimeter
    :param zero_delim: pseudo-delimter prepended to the sequence
    :return: sequence of sequences
    """
    g = [zero_delim]
    for el in seq:
        if predicate(el):
            yield g
            g = []
        g.append(el)
    yield g
# END BASED
qqhtml.py 文件源码 项目:qqmbr 作者: ischurov 项目源码 文件源码 阅读 30 收藏 0 点赞 0 评论 0
def spawn_or_create_counter(parent: Optional[Counter]):
    if parent is not None:
        return parent.spawn_child()
    else:
        return Counter()
qqhtml.py 文件源码 项目:qqmbr 作者: ischurov 项目源码 文件源码 阅读 27 收藏 0 点赞 0 评论 0
def url_for_eq_snippet(self, label: str) -> Optional[str]:
        """
        Returns url for equation snippet by label
        Should be implemented in subclass

        :param label:
        :return:
        """
        raise NotImplementedError
debug.py 文件源码 项目:python-devtools 作者: samuelcolvin 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def __init__(self, *,
                 warnings: Optional[bool]=None,
                 highlight: Optional[bool]=None,
                 frame_context_length: int=50):
        self._show_warnings = self._env_bool(warnings, 'PY_DEVTOOLS_WARNINGS', True)
        self._highlight = self._env_bool(highlight, 'PY_DEVTOOLS_HIGHLIGHT', None)
        # 50 lines should be enough to make sure we always get the entire function definition
        self._frame_context_length = frame_context_length
frame_manager.py 文件源码 项目:pyppeteer 作者: miyakogi 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def mainFrame(self) -> Optional['Frame']:
        """Retrun main frame."""
        return self._mainFrame
frame_manager.py 文件源码 项目:pyppeteer 作者: miyakogi 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def __init__(self, client: Session, mouse: Mouse, touchscreen: Touchscreen,
                 parentFrame: Optional['Frame'], frameId: str) -> None:
        """Make new frame."""
        self._client = client
        self._mouse = mouse
        self._touchscreen = touchscreen
        self._parentFrame = parentFrame
        self._url = ''
        self._detached = False
        self._id = frameId
        self._defaultContextId = '<not-initialized>'
        self._waitTasks: Set[WaitTask] = set()  # maybe list
        self._childFrames: Set[Frame] = set()  # maybe list
        if self._parentFrame:
            self._parentFrame._childFrames.add(self)
frame_manager.py 文件源码 项目:pyppeteer 作者: miyakogi 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def querySelector(self, selector: str) -> Optional['ElementHandle']:
        """Get element which matches `selector` string.

        If `selector` matches multiple elements, return first-matched element.
        """
        remoteObject = await self._rawEvaluate(
            'selector => document.querySelector(selector)', selector)
        if remoteObject.get('subtype') == 'node':
            return ElementHandle(self._client, remoteObject, self._mouse,
                                 self._touchscreen)
        await helper.releaseObject(self._client, remoteObject)
        return None
frame_manager.py 文件源码 项目:pyppeteer 作者: miyakogi 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def querySelectorEval(self, selector: str, pageFunction: str,
                                *args: Any) -> Optional[Any]:
        """Execute function on element which matches selector."""
        elementHandle = await self.querySelector(selector)
        if elementHandle is None:
            raise PageError(
                f'Error: failed to find element matching selector "{selector}"'
            )
        result = await elementHandle.evaluate(pageFunction, *args)
        await elementHandle.dispose()
        return result
navigator_watcher.py 文件源码 项目:pyppeteer 作者: miyakogi 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def clearTimeout(fut: Optional[Union[asyncio.Future, asyncio.Handle]]) -> None:
    """Cancel timer task."""
    if fut:
        fut.cancel()
page.py 文件源码 项目:pyppeteer 作者: miyakogi 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def mainFrame(self) -> Optional['Frame']:
        """Get main frame."""
        return self._frameManager._mainFrame
page.py 文件源码 项目:pyppeteer 作者: miyakogi 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def querySelector(self, selector: str) -> Optional['ElementHandle']:
        """Get Element which matches `selector`."""
        frame = self.mainFrame
        if not frame:
            raise PageError('no main frame.')
        return await frame.querySelector(selector)
page.py 文件源码 项目:pyppeteer 作者: miyakogi 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def querySelectorEval(self, selector: str, pageFunction: str,
                                *args: Any) -> Optional[Any]:
        """Execute function on element which matches selector."""
        frame = self.mainFrame
        if not frame:
            raise PageError('no main frame.')
        return await frame.querySelectorEval(selector, pageFunction, *args)


问题


面经


文章

微信
公众号

扫码关注公众号