implemented mail sending
This commit is contained in:
parent
f6e57378f2
commit
b78ed4ba02
33
atomstrom.py
33
atomstrom.py
@ -161,19 +161,32 @@ def get_entry_text(entry):
|
|||||||
|
|
||||||
def mail_daily_digest(session, sender, receiver, prefix):
|
def mail_daily_digest(session, sender, receiver, prefix):
|
||||||
print 'mailing daily digest...'
|
print 'mailing daily digest...'
|
||||||
|
entries = session.query(Feed, Feedinfo, Entry).\
|
||||||
|
filter(Feed.id == Feedinfo.feed_id).\
|
||||||
|
filter(Feed.id == Entry.feed_id).\
|
||||||
|
filter(Feed.enabled == 1).\
|
||||||
|
filter(Feed.daily == 1).\
|
||||||
|
filter(Entry.sent == None).\
|
||||||
|
order_by(desc(Entry.firstfetched), Feedinfo.title, Entry.title).\
|
||||||
|
all()
|
||||||
body = ''
|
body = ''
|
||||||
count = 0
|
count = 0
|
||||||
for feed, feedinfo, entry in session.query(Feed, Feedinfo, Entry).filter(Feed.id==Feedinfo.feed_id).filter(Feed.id==Entry.feed_id).filter(Feed.enabled==1).filter(Feed.daily==1).order_by(desc(Entry.updated)).all():
|
for feed, feedinfo, entry in entries:
|
||||||
count = count + 1
|
count = count + 1
|
||||||
body = body + '=> %s - %s\n' % (entry.updated.strftime('%y%m%d-%H%M'), feedinfo.title)
|
body = body + '=> %s - %s\n' % (entry.firstfetched.strftime('%y%m%d-%H%M'), feedinfo.title)
|
||||||
body = body + ' %s\n' % entry.title
|
body = body + ' %s\n' % entry.title
|
||||||
body = body + '%s\n' % get_entry_text(entry)[0:100]
|
body = body + '%s\n' % get_entry_text(entry)[0:100]
|
||||||
body = body + '%s\n\n' % entry.link
|
body = body + '%s\n\n' % entry.link
|
||||||
|
if count > 0:
|
||||||
today = datetime.now()
|
today = datetime.now()
|
||||||
subject = '%s (%s) - %d entries' % (today.strftime('%y%m%d'), today.strftime('%A'), count)
|
subject = '%s (%s) - %d entries' % (today.strftime('%y%m%d'), today.strftime('%A'), count)
|
||||||
if prefix != '':
|
if prefix != '':
|
||||||
subject = '%s %s' % (prefix, subject)
|
subject = '%s %s' % (prefix, subject)
|
||||||
send_mail(sender, receiver, subject, body)
|
send_mail(sender, receiver, subject, body)
|
||||||
|
for feed, feedinfo, entry in entries:
|
||||||
|
entry.sent = datetime.now()
|
||||||
|
else:
|
||||||
|
print 'no unmailed digest-entries found... not sending mail.'
|
||||||
|
|
||||||
def mail_single_entry(feed, feedinfo, entry, sender, receiver, prefix):
|
def mail_single_entry(feed, feedinfo, entry, sender, receiver, prefix):
|
||||||
subject = '%s' % (entry.title)
|
subject = '%s' % (entry.title)
|
||||||
@ -183,11 +196,25 @@ def mail_single_entry(feed, feedinfo, entry, sender, receiver, prefix):
|
|||||||
body = body + '%s\n' % feedinfo.link
|
body = body + '%s\n' % feedinfo.link
|
||||||
body = body + '%s\n' % entry.link
|
body = body + '%s\n' % entry.link
|
||||||
send_mail(sender, receiver, subject, body)
|
send_mail(sender, receiver, subject, body)
|
||||||
|
entry.sent = datetime.now()
|
||||||
|
|
||||||
def mail_single_entries(session, sender, receiver, prefix):
|
def mail_single_entries(session, sender, receiver, prefix):
|
||||||
print 'mailing single entries...'
|
print 'mailing single entries...'
|
||||||
for feed, feedinfo, entry in session.query(Feed, Feedinfo, Entry).filter(Feed.id==Feedinfo.feed_id).filter(Feed.id==Entry.feed_id).filter(Feed.enabled==1).filter(Feed.daily==0).all():
|
count = 0
|
||||||
|
entries = session.query(Feed, Feedinfo, Entry).\
|
||||||
|
filter(Feed.id == Feedinfo.feed_id).\
|
||||||
|
filter(Feed.id == Entry.feed_id).\
|
||||||
|
filter(Feed.enabled == 1).\
|
||||||
|
filter(Feed.daily == 0).\
|
||||||
|
filter(Entry.sent == None).\
|
||||||
|
all()
|
||||||
|
for feed, feedinfo, entry in entries:
|
||||||
mail_single_entry(feed, feedinfo, entry, sender, receiver, prefix)
|
mail_single_entry(feed, feedinfo, entry, sender, receiver, prefix)
|
||||||
|
count = count + 1
|
||||||
|
if count > 0:
|
||||||
|
print 'sent %d mails' % count
|
||||||
|
else:
|
||||||
|
print 'no unmailed single entries found... not sending mail.'
|
||||||
|
|
||||||
def fetch_readability(link):
|
def fetch_readability(link):
|
||||||
text = hn.upgradeLink(link)
|
text = hn.upgradeLink(link)
|
||||||
|
Loading…
Reference in New Issue
Block a user