Beispiel #1
0
def scan_article(weixin_info_id=None, openid=None, is_add=True, look_back=True):
    if is_end:
        print "is_end="+str(is_end)
        return
    print "scan_article: weixin_info_id="+str(weixin_info_id)+", openid="+str(openid)+", is_add="+str(is_add)
    if weixin_info_id is None and openid is None:
        print "scan_article need params(weixin_info_id or openid)!"
        return
    elif weixin_info_id is not None:
        weixinInfoList = dbutils.getWeixinInfoList(id=weixin_info_id)
    else:
        weixinInfoList = dbutils.getWeixinInfoList(openid=openid)
    for weixinInfo in weixinInfoList:
        weixin_info_id = weixinInfo.id
        weixin_name = weixinInfo.weixin_name
        weixin_no = weixinInfo.weixin_no
        if weixinInfo.openid is None or weixinInfo.openid.strip()=='':
            openid = get_weixin_info_openid(weixin_name, weixin_no)
            if openid is not None:
                dbutils.updateWeixinInfoById(weixin_info_id,openid=openid)
        else:
            openid = weixinInfo.openid
        article_urls = scan_article_list(weixin_info_id, openid, look_back)
        if is_add:
            article_urls = article_urls_filter(article_urls, weixin_info_id)
        update_num = scan_article_content(article_urls, weixin_info_id, weixin_name, weixin_no, openid, hasThumbnail=True)
        #抓取时间和文章数更新
        dbutils.updateWeixinInfoById(id=weixin_info_id, last_scan_date=str(datetime.datetime.now()), update_num=update_num)
        return ""
    #
    return ""
 def do_action(self, queryset):
     # queryset 是包含了已经选择的数据的 queryset
     for obj in queryset:
         # obj 的操作
         weixinInfoList=[]
         if obj.weixin_no is not None:
             weixinInfoList.extend(getWeixinInfoList(weixin_no=obj.weixin_no))
         if obj.openid is not None:
             weixinInfoList.extend(getWeixinInfoList(openid=obj.openid))
         if len(weixinInfoList)==0:
             weixinInfo = WeixinInfo()
             weixinInfo.weixin_name = obj.weixin_name
             weixinInfo.weixin_no = obj.weixin_no
             weixinInfo.openid = obj.openid
             weixinInfo.save()
         obj.delete()
Beispiel #3
0
 def do_action(self, queryset):
     # queryset 是包含了已经选择的数据的 queryset
     for obj in queryset:
         # obj 的操作
         weixinInfoList = []
         if obj.weixin_no is not None:
             weixinInfoList.extend(
                 getWeixinInfoList(weixin_no=obj.weixin_no))
         if obj.openid is not None:
             weixinInfoList.extend(getWeixinInfoList(openid=obj.openid))
         if len(weixinInfoList) == 0:
             weixinInfo = WeixinInfo()
             weixinInfo.weixin_name = obj.weixin_name
             weixinInfo.weixin_no = obj.weixin_no
             weixinInfo.openid = obj.openid
             weixinInfo.save()
         obj.delete()
Beispiel #4
0
def scan_article(weixin_info_id=None,
                 openid=None,
                 is_add=True,
                 look_back=True):
    if is_end:
        print "is_end=" + str(is_end)
        return
    print "scan_article: weixin_info_id=" + str(
        weixin_info_id) + ", openid=" + str(openid) + ", is_add=" + str(is_add)
    if weixin_info_id is None and openid is None:
        print "scan_article need params(weixin_info_id or openid)!"
        return
    elif weixin_info_id is not None:
        weixinInfoList = dbutils.getWeixinInfoList(id=weixin_info_id)
    else:
        weixinInfoList = dbutils.getWeixinInfoList(openid=openid)
    for weixinInfo in weixinInfoList:
        weixin_info_id = weixinInfo.id
        weixin_name = weixinInfo.weixin_name
        weixin_no = weixinInfo.weixin_no
        if weixinInfo.openid is None or weixinInfo.openid.strip() == '':
            openid = get_weixin_info_openid(weixin_name, weixin_no)
            if openid is not None:
                dbutils.updateWeixinInfoById(weixin_info_id, openid=openid)
        else:
            openid = weixinInfo.openid
        article_urls = scan_article_list(weixin_info_id, openid, look_back)
        if is_add:
            article_urls = article_urls_filter(article_urls, weixin_info_id)
        update_num = scan_article_content(article_urls,
                                          weixin_info_id,
                                          weixin_name,
                                          weixin_no,
                                          openid,
                                          hasThumbnail=True)
        #抓取时间和文章数更新
        dbutils.updateWeixinInfoById(id=weixin_info_id,
                                     last_scan_date=str(
                                         datetime.datetime.now()),
                                     update_num=update_num)
        return ""
    #
    return ""