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()
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()
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 ""