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
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
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
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)
def __init__(self, name, content, url, **kwargs): self.name = name self.content = content self.url = url self.key = cal_key(content)