Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
# -*- encoding: utf-8 -*-
import sys
import os
import json
import traceback
import data
import mail
import news
import datetime
def get_all_subscriber():
"""
"""
d = data.DataModel()
return d.get('subscriber', [])
def remove_subscriber(name, email):
d = data.DataModel()
subscribers = d.get('subscriber', [])
keep_subscriber = []
for p in subscribers:
if p['name'] == name and p['email'] == email:
continue
keep_subscriber.append(p)
d.update('subscriber', keep_subscriber)
return d.get('subscriber', [])
def add_subscriber(name, email):
d = data.DataModel()
subscribers = d.get('subscriber', [])
new_subscriber = {}
new_subscriber['name'] = name
new_subscriber['email'] = email
subscribers.append(new_subscriber)
d.update('subscriber', subscribers)
return d.get('subscriber', [])
def send_all():
try:
d = data.DataModel()
news_client = news.NewsAgent()
subscribers = d.get('subscriber', [])
n_subscribers = len(subscribers)
news_list = d.get('news', [])
if len(news_list) == 0:
print('No news,get lastest news by API now...', file=sys.stderr)
news_list = news_client.get_news_api()
news_client.save_news(news_list)
datestr = datetime.datetime.now().strftime('%Y-%m-%d')
title = 'Today News: %s' % (datestr)
message = news_client.news_list_to_html(news_list)
mail_client = mail.Mail()
mail_client.send(subscribers, title, message)
# push news to user
news_list = news_client.get_news_api()
news_client.save_news(news_list)
return n_subscribers
except:
return -1
def get_all_news():
"""
get news in data file
"""
d = data.DataModel()
return d.get('news', [])
def update_news():
"""
Update news
"""
news_client = news.NewsAgent()
news_list = news_client.get_news_api()
news_client.save_news(news_list)
return news_list
def set_auto(timestr):
"""
set auto push news time
format:19:00:20
"""
d = data.DataModel()
d.update('push_time', timestr)
def cancel_auto():
d = data.DataModel()
d.update('push_time', '')
def get_auto():
"""
"""
d = data.DataModel()
return d.get('push_time', '')