Source code for pythonic_gmail.iterator

# -*- coding: utf-8 -*-

import typing as T

from iterproxy import IterProxy

from .model import (
    Message,
    ListMessagesResponse,
    Thread,
    ListThreadsResponse,
)


[docs] class ListMessagesResponseIterProxy(IterProxy[ListMessagesResponse]): @classmethod def from_paginator( cls, paginator: T.Iterable, ): return cls( (ListMessagesResponse.new(res) for res in paginator), ) def iter_items(self) -> T.Iterator["Message"]: res: "ListMessagesResponse" message: "Message" for res in self: for message in res.messages: yield message
[docs] class ListThreadsResponseIterProxy(IterProxy[ListThreadsResponse]): @classmethod def from_paginator( cls, paginator: T.Iterable, ): return cls( (ListThreadsResponse.new(res) for res in paginator), ) def iter_items(self) -> T.Iterator["Thread"]: res: "ListThreadsResponse" thread: "Thread" for res in self: for thread in res.threads: yield thread