Beispiel #1
0
    def add_words(cls, email, add_word_list, interval=300):
        """
         add new search words for one email
        """
        add_word_list = [str2utf8(word)[0] for word in add_word_list]
        words_key = cal_key(','.join(add_word_list))


        ret = words_collection.find_one({"key": words_key})
        if not ret:
            words_collection.insert({"word": add_word_list, "email_list": [email], "key": words_key,"interval": interval})
        elif ret and email in set(ret.get("email_list")):
            pass
        else:
            ret = words_collection.find_one({"key": words_key})

            words_collection.update({"key": words_key}, {"$set": {"email_list": ret["email_list"].append(email)}})
        # for word in add_word_list:
        #     ret = words_collection.find_one({"word": word})
        #     if not ret:
        #         words_collection.insert({"word": word, "email_list": [email], "interval": interval})
        #         continue
        #     if ret and email in set(ret.get("email_list")):
        #         continue
        #     else:
        #         words_collection.update({"word": word}, {"$set": {"email_list": ret["email_list"].append(email)}})

        return True
Beispiel #2
0
 def create(cls, name, add_weibo):
     """
     : add_weibo : a dict which must contain : content, url, time; may content  ...
     """
     key = cal_key(add_weibo["content"])
     ret = weibo_collection.find_one({"name": name, "key": key})
     if ret:
         return ret, False
     weibo =  {
         "name": name,
         "content": add_weibo["content"],
         "url": add_weibo["url"],
         "key": key,
     }
     weibo.update(add_weibo)
     weibo["time"] = trans_time(weibo["time"])
     weibo_collection.insert(weibo)
     return weibo, True
Beispiel #3
0
 def create(cls, keyword, add_news):
     """
     : add_news : a dict which must contain : title, content, url, time; may content source, ...
     """
     key = cal_key(add_news["content"])
     ret = news_collection.find_one({"keyword": keyword, "key": key})
     if ret:
         return ret, False
     news = {
         "keyword": keyword,
         "title": add_news["title"],
         "content": add_news["content"],
         "url": add_news["url"],
         "key": key,
     }
     news.update(add_news)
     news["time"] = trans_time(news["time"])
     news_collection.insert(news)
     return news, True
Beispiel #4
0
 def __init__(self, keyword, title, content, url, **kwargs):
     self.keyword = keyword
     self.title = title
     self.content = content
     self.url = url
     self.key = cal_key(content)
Beispiel #5
0
 def __init__(self, name, content, url, **kwargs):
     self.name = name
     self.content = content
     self.url = url
     self.key = cal_key(content)