def test_group_exists(self):
     test1 = '群1'
     key1 = 'test_set'
     conn = connect_redis()
     conn.sadd(key1, test1)
     if not conn.sismember(key1, test1):
         print("not exists")
     else:
         print("exists")
Beispiel #2
0
 def __init__(self, debug=True):
     """
     爬取腾讯新闻平台的实时疫情数据
     :param debug:
     """
     self.req = requests.Session()
     self.log = LogSupport()
     self.re = connect_redis()
     self.debug = debug
     self.sqlc = SQLiteConnect(BASE_DIR + "sqlite.db")
Beispiel #3
0
 def __init__(self, debug=True):
     """
     爬取腾讯新闻平台的实时疫情数据
     :param debug:
     """
     self.req = requests.Session()
     self.log = LogSupport()
     if USE_REDIS:
         self.re = connect_redis()
     else:
         self.re = None
     self.debug = debug
     self.sqlc = SQLiteConnect(os.path.join(BASE_DIR, "sqlite.db"))
     self.check_dirs()
Beispiel #4
0
 def test_user_unsubscribe(self):
     conn = connect_redis()
     # 完成数据转化并更新数据库
     self.sp.change_raw_data_format(self.data2)
     user_subscribe(conn, 'test', '订阅湖北', jieba)
     succ, failed = user_unsubscribe_multi(conn, 'test', '取消关注湖北', jieba)
     assert succ == ['湖北']
     succ, failed = user_subscribe(conn, 'test', '订阅湖北重庆', jieba)
     assert succ == ['湖北', '重庆']
     succ, failed = user_unsubscribe_multi(conn, 'test', '取消重庆市', jieba)
     assert succ == ['重庆']
     succ, failed = user_unsubscribe_multi(conn, 'test', '取关全国', jieba)
     assert succ == ['全部']
     succ, failed = user_unsubscribe_multi(conn, 'test', '取消湖南', jieba)
     assert succ == [] and failed == ['湖南']
def do_ncov_update(itchat, debug=True):
    ls.logging.info("thread do ncov update info start success-----")
    if USE_REDIS:
        conn = connect_redis()
    else:
        conn = SQLiteConnect(os.path.join(BASE_DIR, 'sqlite.db'))
    try:
        while True:
            if USE_REDIS:
                should_update = conn.get(SHOULD_UPDATE)
                should_update = 0 if should_update == None else should_update
            else:
                should_update = conn.get_update_flag()
            ls.logging.info("update flag:{}".format(should_update))
            if should_update == 1:
                update_city = get_update_city(conn)
                if not update_city:
                    ls.logging.warning("-No update city info")
                else:
                    for city in update_city:
                        push_info = construct_push_info(city)
                        subscribe_user = get_members_by_city(
                            conn, city['city'])
                        ls.logging.info("begin to send info...")
                        for user in subscribe_user:
                            try:
                                ls.logging.info("info:{},user: {}".format(
                                    push_info[:20], user))
                                itchat.send(push_info, toUserName=user)
                                # 发送太快容易出事
                                time.sleep(get_random_split())
                            except BaseException as e:
                                ls.logging.error("send failed,{}".format(user))
                                ls.logging.exception(e)
            if debug:
                break
            # 暂停几分钟
            time.sleep(get_random_long_time())
    except BaseException as e:
        ls.logging.error("Error in check ncov update-----")
        ls.logging.exception(e)
 def test_user_unsubscribe(self):
     """
     因数据格式已经改变,该测试已废弃
     :return:
     """
     conn = connect_redis()
     # 完成数据转化并更新数据库
     self.sp.change_raw_data_format_new(self.data2)
     user_subscribe(conn, 'test', '订阅湖北', jieba)
     succ, failed = user_unsubscribe_multi_redis(conn, 'test', '取消关注湖北',
                                                 jieba)
     assert succ == ['湖北']
     succ, failed = user_subscribe(conn, 'test', '订阅湖北重庆', jieba)
     assert succ == ['湖北', '重庆']
     succ, failed = user_unsubscribe_multi_redis(conn, 'test', '取消重庆市',
                                                 jieba)
     assert succ == ['重庆']
     succ, failed = user_unsubscribe_multi_redis(conn, 'test', '取关全部',
                                                 jieba)
     assert succ == ['全部']
     succ, failed = user_unsubscribe_multi_redis(conn, 'test', '取消湖南',
                                                 jieba)
     assert succ == [] and failed == ['湖南']
Beispiel #7
0
from src.ocr.TextSummary import get_text_summary
from src.util.util import check_image, check_identify, remove_image, get_random_split_short
from itchat.content import *
from src.robot.NcovWeRobotFunc import *
from src.util.constant import INFO_TAIL, INFO_TAIL_ALL, FOCUS_TAIL, HELP_CONTENT, \
    GROUP_CONTENT_HELP, ONLINE_TEXT, FILE_HELPER, CHAOYANG_INFO, NO_GROUP_CONTENT_HELP
from src.util.redis_config import connect_redis
from src.robot.NcovGroupRobot import *

import jieba
import threading
from src.spider.SpiderServer import start_tx_spider

ocr = Image2Title(topK=5)
if USE_REDIS:
    conn = connect_redis()
else:
    conn = SQLiteConnect(os.path.join(BASE_DIR, 'sqlite.db'))


@itchat.msg_register([TEXT])
def text_reply(msg):
    try:
        if msg['FromUserName'] == itchat.originInstance.storageClass.userName and msg[
                'ToUserName'] != 'filehelper':
            return
        nickname = itchat.originInstance.storageClass.nickName
        if check_whether_register(msg.text):
            succ, failed = user_subscribe(conn, msg.user.UserName, msg.text,
                                          jieba)
            if len(failed) == 1 and failed[0] == '朝阳':
 def __init__(self, debug=True):
     self.req = requests.Session()
     self.log = LogSupport()
     self.re = connect_redis()
     self.debug = debug
 def test_user_subscribe(self):
     conn = connect_redis()
     succ, failed = user_subscribe(conn, 'test', '订阅湖北', jieba)
     assert succ == ['湖北']
Beispiel #10
0
 def test_get_all_area(self):
     conn = connect_redis()
     all_area = set(conn.smembers(ALL_AREA_KEY))