zoukankan      html  css  js  c++  java
  • 死磕itchat源码--__init__.py

    itchat包中的__init__.py是该库的入口;在该文件中的源码如下:

    # -*- coding: utf-8 -*-
    
    from . import content
    from .core import Core
    from .config import VERSION
    from .log import set_logging
    
    __version__ = VERSION
    
    # 实例列表,添加处理微信的实例对象
    instanceList = []
    
    def new_instance():
        """
        用于创建一个新的`Core`的实例化对象,并且返回,
        newInstance = Core()是最终封装的实例化对象,封装了Storage,requests,等属性
        """
        newInstance = Core()
        instanceList.append(newInstance)
        return newInstance
    
    # 封装`Core`的实例化对象在`originInstance`
    # `originInstance` = `newInstance` = `Core()`
    originInstance = new_instance()
    
    # I really want to use sys.modules[__name__] = originInstance
    # but it makes auto-fill a real mess, so forgive me for my following **
    # actually it toke me less than 30 seconds, god bless Uganda
    
    # components.login
    # 在components.login中实现重构
    login                       = originInstance.login
    get_QRuuid                  = originInstance.get_QRuuid
    get_QR                      = originInstance.get_QR
    check_login                 = originInstance.check_login
    web_init                    = originInstance.web_init
    show_mobile_login           = originInstance.show_mobile_login
    start_receiving             = originInstance.start_receiving
    get_msg                     = originInstance.get_msg
    logout                      = originInstance.logout
    # components.contact
    # 在components.contact中实现重构
    update_chatroom             = originInstance.update_chatroom
    update_friend               = originInstance.update_friend
    get_contact                 = originInstance.get_contact
    get_friends                 = originInstance.get_friends
    get_chatrooms               = originInstance.get_chatrooms
    get_mps                     = originInstance.get_mps
    set_alias                   = originInstance.set_alias
    set_pinned                  = originInstance.set_pinned
    add_friend                  = originInstance.add_friend
    get_head_img                = originInstance.get_head_img
    create_chatroom             = originInstance.create_chatroom
    set_chatroom_name           = originInstance.set_chatroom_name
    delete_member_from_chatroom = originInstance.delete_member_from_chatroom
    add_member_into_chatroom    = originInstance.add_member_into_chatroom
    # components.messages
    # 在components.login中实现重构
    send_raw_msg                = originInstance.send_raw_msg
    send_msg                    = originInstance.send_msg
    upload_file                 = originInstance.upload_file
    send_file                   = originInstance.send_file
    send_image                  = originInstance.send_image
    send_video                  = originInstance.send_video
    send                        = originInstance.send
    revoke                      = originInstance.revoke
    # components.hotreload
    # 在components.hotreload中实现重构
    dump_login_status           = originInstance.dump_login_status
    load_login_status           = originInstance.load_login_status
    # components.register
    # 在components.register中实现重构
    auto_login                  = originInstance.auto_login
    configured_reply            = originInstance.configured_reply
    msg_register                = originInstance.msg_register
    run                         = originInstance.run
    # other functions
    search_friends              = originInstance.search_friends
    search_chatrooms            = originInstance.search_chatrooms
    search_mps                  = originInstance.search_mps
    set_logging                 = set_logging
    
    
  • 相关阅读:
    pku3734Blocks
    STLmultiset
    zoj 2744
    EXCEL vba 插入图片的大小裁剪尺寸移动和旋转的设置和指定
    C# WinForm下Excel导入导出
    日期格式校验
    vb获取目录下所有文件夹名称的方法
    批量 生成 word 多线程
    Java中验证日期时间格式
    递归绑定树形菜单
  • 原文地址:https://www.cnblogs.com/linga/p/11003634.html
Copyright © 2011-2022 走看看