# Path: wxpy/utils/misc.py
# def get_receiver(receiver=None):
#     """
#     获得作为接收者的聊天对象
# 
#     :param receiver:
#         * 当为 `None`, `True` 或字符串时，将以该值作为 `cache_path` 参数启动一个新的机器人，并返回该机器人的"文件传输助手"
#         * 当为 :class:`机器人 <Bot>` 时，将返回该机器人的"文件传输助手"
#         * 当为 :class:`聊天对象 <Chat>` 时，将返回该聊天对象
#     :return: 作为接收者的聊天对象
#     :rtype: :class:`wxpy.Chat`
#     """
# 
#     from wxpy.api.chats import Chat
#     from wxpy.api.bot import Bot
# 
#     if isinstance(receiver, Chat):
#         return receiver
#     elif isinstance(receiver, Bot):
#         return receiver.file_helper
#     elif receiver in (None, True) or isinstance(receiver, str):
#         return Bot(cache_path=receiver).file_helper
#     else:
#         raise TypeError('expected Chat, Bot, str, True or None')


import logging
from wxpy.utils import get_receiver
# coding: utf-8
from __future__ import unicode_literals



logger = logging.getLogger(__name__)


class WeChatLoggingHandler(logging.Handler):
    def __init__(self, receiver=None):
        """
        可向指定微信聊天对象发送日志的 Logging Handler

        :param receiver:
            * 当为 `None`, `True` 或字符串时，将以该值作为 `cache_path` 参数启动一个新的机器人，并发送到该机器人的"文件传输助手"
            * 当为 :class:`机器人 <Bot>` 时，将发送到该机器人的"文件传输助手"
            * 当为 :class:`聊天对象 <Chat>` 时，将发送到该聊天对象
        """

        super(WeChatLoggingHandler, self).__init__()

# Path: wxpy/utils/misc.py
# def get_receiver(receiver=None):
#     """
#     获得作为接收者的聊天对象
# 
#     :param receiver:
#         * 当为 `None`, `True` 或字符串时，将以该值作为 `cache_path` 参数启动一个新的机器人，并返回该机器人的"文件传输助手"
#         * 当为 :class:`机器人 <Bot>` 时，将返回该机器人的"文件传输助手"
#         * 当为 :class:`聊天对象 <Chat>` 时，将返回该聊天对象
#     :return: 作为接收者的聊天对象
#     :rtype: :class:`wxpy.Chat`
#     """
# 
#     from wxpy.api.chats import Chat
#     from wxpy.api.bot import Bot
# 
#     if isinstance(receiver, Chat):
#         return receiver
#     elif isinstance(receiver, Bot):
#         return receiver.file_helper
#     elif receiver in (None, True) or isinstance(receiver, str):
#         return Bot(cache_path=receiver).file_helper
#     else:
#         raise TypeError('expected Chat, Bot, str, True or None')


# Path: wxpy/ext/logging_with_wechat.py
import logging
from wxpy.utils import get_receiver

# coding: utf-8
from __future__ import unicode_literals



logger = logging.getLogger(__name__)


class WeChatLoggingHandler(logging.Handler):
    def __init__(self, receiver=None):
        """
        可向指定微信聊天对象发送日志的 Logging Handler

        :param receiver:
            * 当为 `None`, `True` 或字符串时，将以该值作为 `cache_path` 参数启动一个新的机器人，并发送到该机器人的"文件传输助手"
            * 当为 :class:`机器人 <Bot>` 时，将发送到该机器人的"文件传输助手"
            * 当为 :class:`聊天对象 <Chat>` 时，将发送到该聊天对象
        """

        super(WeChatLoggingHandler, self).__init__()

        self.receiver = get_receiver(receiver)