Example #1
0
class MyWechat(object):
    """
    my wechat platform
    """
    
    def __init__(self, username, password, cookiePath='/tmp/cook_wexin.zoo'):
        """
        init wechat object
        """
        self.__user = username
        self.__pass = password
        self.__token = ''
        self.__cookies = ''
        self.__cookiePath = cookiePath
    
    def __password_login(self):
        """
        login 后生成缓存文件, 以用户和密码的形式登陆
        """
        self.__wechat = WechatExt(username=self.__user, 
                                  password=self.__pass,
                                  login=False)
        try:
            self.__wechat.login()
        except NeedLoginError:
            print "your need to retry login."

        with open(self.__cookiePath, 'w') as f:
            json.dump(self.__wechat.get_token_cookies(), f)

    def __token_login(self):
        """
        载入缓存 cookie 和 token的文件, 以token的形式登陆
        """
        with open(self.__cookiePath, 'r') as f:
            cookie = json.load(f)
            self.__cookies = cookie['cookies']
            self.__token = cookie['token']
        self.__wechat = WechatExt(username=self.__user, 
                                  password=self.__pass,
                                  token=self.__token,
                                  cookies=self.__cookies,
                                  login=False)
            
            
    def login(self):
        """
        执行login() 可以有效应对可能出现的验证码问题。
        """
        if not os.path.exists(self.__cookiePath):
            self.__password_login()
        else:
            self.__token_login()
            try:
                self.__wechat.get_group_list()
            except NeedLoginError, e:
                self.__password_login()
Example #2
0
class MyWechat(object):
    """
    my wechat platform
    """
    def __init__(self, username, password, cookiePath='/tmp/cook_wexin.zoo'):
        """
        init wechat object
        """
        self.__user = username
        self.__pass = password
        self.__token = ''
        self.__cookies = ''
        self.__cookiePath = cookiePath

    def __password_login(self):
        """
        login 后生成缓存文件, 以用户和密码的形式登陆
        """
        self.__wechat = WechatExt(username=self.__user,
                                  password=self.__pass,
                                  login=False)
        try:
            self.__wechat.login()
        except NeedLoginError:
            print "your need to retry login."

        with open(self.__cookiePath, 'w') as f:
            json.dump(self.__wechat.get_token_cookies(), f)

    def __token_login(self):
        """
        载入缓存 cookie 和 token的文件, 以token的形式登陆
        """
        with open(self.__cookiePath, 'r') as f:
            cookie = json.load(f)
            self.__cookies = cookie['cookies']
            self.__token = cookie['token']
        self.__wechat = WechatExt(username=self.__user,
                                  password=self.__pass,
                                  token=self.__token,
                                  cookies=self.__cookies,
                                  login=False)

    def login(self):
        """
        执行login() 可以有效应对可能出现的验证码问题。
        """
        if not os.path.exists(self.__cookiePath):
            self.__password_login()
        else:
            self.__token_login()
            try:
                self.__wechat.get_group_list()
            except NeedLoginError, e:
                self.__password_login()
Example #3
0
def login_http(username, password):
    wechat = WechatExt(username, password)
    wechat.login()

    if not exists(cookie_dir):
        makedirs(cookie_dir)
    fn = join(cookie_dir, 'cookie_{}.html'.format(today()))
    with open(fn, 'w') as f:
        json.dump(wechat.get_token_cookies(), f, indent=4)

    return wechat
Example #4
0
def login(username, password):
    d = r.get(username)
    if d:
        log.info('lazy login. use cookie, username={}'.format(username))
        return WechatExt(username, password, login=False, **json.loads(d))
    else:
        print username, password
        wechat = WechatExt(username, password, login=False)
        wechat.login()
        log.info('login to wechat server. username={}'.format(username))
        r.setex(username, LOGIN_TIMEOUT,
                json.dumps(wechat.get_token_cookies(), indent=4))
        return wechat
Example #5
0
 def __token_login(self):
     """
     载入缓存 cookie 和 token的文件, 以token的形式登陆
     """
     with open(self.__cookiePath, 'r') as f:
         cookie = json.load(f)
         self.__cookies = cookie['cookies']
         self.__token = cookie['token']
     self.__wechat = WechatExt(username=self.__user,
                               password=self.__pass,
                               token=self.__token,
                               cookies=self.__cookies,
                               login=False)
Example #6
0
    def __password_login(self):
        """
        login 后生成缓存文件, 以用户和密码的形式登陆
        """
        self.__wechat = WechatExt(username=self.__user,
                                  password=self.__pass,
                                  login=False)
        try:
            self.__wechat.login()
        except NeedLoginError:
            print "your need to retry login."

        with open(self.__cookiePath, 'w') as f:
            json.dump(self.__wechat.get_token_cookies(), f)
Example #7
0
def login_cookie(username, password):
    fn = join(cookie_dir, 'cookie_{}.html'.format(today()))
    if not exists(fn):
        raise NeedLoginError

    with open(fn, 'r') as f:
        kwargs = json.load(f)

    return WechatExt(username=username,
                     password=password,
                     login=False,
                     **kwargs)
Example #8
0
 def __token_login(self):
     """
     载入缓存 cookie 和 token的文件, 以token的形式登陆
     """
     with open(self.__cookiePath, 'r') as f:
         cookie = json.load(f)
         self.__cookies = cookie['cookies']
         self.__token = cookie['token']
     self.__wechat = WechatExt(username=self.__user, 
                               password=self.__pass,
                               token=self.__token,
                               cookies=self.__cookies,
                               login=False)
Example #9
0
    def __password_login(self):
        """
        login 后生成缓存文件, 以用户和密码的形式登陆
        """
        self.__wechat = WechatExt(username=self.__user, 
                                  password=self.__pass,
                                  login=False)
        try:
            self.__wechat.login()
        except NeedLoginError:
            print "your need to retry login."

        with open(self.__cookiePath, 'w') as f:
            json.dump(self.__wechat.get_token_cookies(), f)
Example #10
0
def login(username, password):
    d = r.get(username)
    if d:
        log.info('lazy login. use cookie, username={}'.format(username))
        return WechatExt(username, password, login=False, **json.loads(d))
    else:
        print username, password
        wechat = WechatExt(username, password, login=False)
        wechat.login()
        log.info('login to wechat server. username={}'.format(username))
        r.setex(username, LOGIN_TIMEOUT,
                json.dumps(wechat.get_token_cookies(), indent=4))
        return wechat
Example #11
0
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('UTF-8')

import serial
import time
import json

from wechat_sdk import WechatExt
wechat = WechatExt(username='******', password='******')


def cal_vol(voMeasured):
    voMeasured = float(voMeasured)
    # 0 - 5V mapped to 0 - 1023 integer values
    # recover voltage
    cal_voltage = voMeasured * (5.0 / 1024.0)  #将模拟值转换为电压值
    return cal_voltage


def cal_den(cal_voltage):
    cal_voltage = float(cal_voltage)
    # linear eqaution taken from http:#www.howmuchsnow.com/arduino/airquality/
    # Chris Nafis (c) 2012
    dust_density = 0.17 * cal_voltage - 0.1  #将电压值转换为粉尘密度输出单位
    return float("%.6f" % (dust_density))  # 输出单位: 毫克/立方米


def cal_air_index(cal_voltage):
Example #12
0
def auto_login():
    wechat = WechatExt(login=False, username='', password='', ifencodepwd=True)
    print wechat
    r = wechat.login()
    print r
    pass
# -*- coding: utf-8

import json

from wechat_sdk import WechatExt


wechat = WechatExt(username='******', password='******')

# 获取未分组中所有的用户成员
user_list = wechat.get_user_list()
print user_list
print '==================================='

# 获取分组列表
group_list = wechat.get_group_list()
print group_list
print '==================================='

# 获取图文信息列表
news_list = wechat.get_news_list(page=0, pagesize=15)
print news_list
print '==================================='

# 获取与最新一条消息用户的对话内容
user_info_json = wechat.get_top_message()
user_info = json.loads(user_info_json)
print wechat.get_dialog_message(fakeid=user_info['msg_item'][0]['fakeid'])
Example #14
0
import dht11
from sensor import pi_info

from smbus import SMBus

bus = SMBus(1)

import json
import werobot
from werobot.client import Client

robot = werobot.WeRoBot(token='wechatpi', enable_session=True)

from wechat_sdk import WechatExt

wechat = WechatExt(username='******', password='******')


# 获取与最新一条消息用户的对话内容
def get_user_info():
    user_info_json = wechat.get_top_message()
    user_info = json.loads(user_info_json)
    print wechat.get_dialog_message(fakeid=user_info['msg_item'][0]['fakeid'])


# 主动发送消息
def send_msg():
    user_info_json = wechat.get_top_message()
    user_info = json.loads(user_info_json)
    wechat.send_message(user_info['msg_item'][0]['fakeid'], "成功啦!")
Example #15
0
#首先安装微信sdk pip install wechat-sdk 后面就简单了
#!/usr/bin/python
from wechat_sdk import WechatExt
import sys
wechat = WechatExt(username='******', password='******') #微信公众账号登陆名和密码
#print  wechat.get_user_list()
wechat.send_message('id',sys.argv[1::-1]) #id 可以通过wechat.get_user_list()查询到 ,这里是设置把消息推送给谁。