include updatetime into entry
This commit is contained in:
		
							
								
								
									
										21
									
								
								atomstrom.py
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								atomstrom.py
									
									
									
									
									
								
							@@ -3,7 +3,8 @@
 | 
				
			|||||||
from sqlalchemy import create_engine, Table, Column, Integer, Text, Boolean, DateTime, MetaData, ForeignKey, desc
 | 
					from sqlalchemy import create_engine, Table, Column, Integer, Text, Boolean, DateTime, MetaData, ForeignKey, desc
 | 
				
			||||||
from sqlalchemy.orm import sessionmaker, relation, backref
 | 
					from sqlalchemy.orm import sessionmaker, relation, backref
 | 
				
			||||||
from sqlalchemy.ext.declarative import declarative_base
 | 
					from sqlalchemy.ext.declarative import declarative_base
 | 
				
			||||||
import datetime
 | 
					from datetime import datetime
 | 
				
			||||||
 | 
					from time import mktime
 | 
				
			||||||
import feedparser
 | 
					import feedparser
 | 
				
			||||||
import re
 | 
					import re
 | 
				
			||||||
import sys
 | 
					import sys
 | 
				
			||||||
@@ -78,9 +79,9 @@ class Feedinfo(Base):
 | 
				
			|||||||
        self.version = parser.get('version')
 | 
					        self.version = parser.get('version')
 | 
				
			||||||
        self.encoding = parser.get('encoding')
 | 
					        self.encoding = parser.get('encoding')
 | 
				
			||||||
        self.bozo = parser.get('bozo')
 | 
					        self.bozo = parser.get('bozo')
 | 
				
			||||||
        self.lastfetched = datetime.datetime.now()
 | 
					        self.lastfetched = datetime.now()
 | 
				
			||||||
        if parser.get('status') == 200:
 | 
					        if parser.get('status') == 200:
 | 
				
			||||||
            self.lastsuccessful = datetime.datetime.now()
 | 
					            self.lastsuccessful = datetime.now()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Entry(Base):
 | 
					class Entry(Base):
 | 
				
			||||||
@@ -98,13 +99,14 @@ class Entry(Base):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    fullpage = Column(Text)
 | 
					    fullpage = Column(Text)
 | 
				
			||||||
    readability = Column(Text)
 | 
					    readability = Column(Text)
 | 
				
			||||||
 | 
					    updated = Column(DateTime)
 | 
				
			||||||
    firstfetched = Column(DateTime)
 | 
					    firstfetched = Column(DateTime)
 | 
				
			||||||
    lastfetched = Column(DateTime)
 | 
					    lastfetched = Column(DateTime)
 | 
				
			||||||
    sent = Column(DateTime)
 | 
					    sent = Column(DateTime)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def __init__(self, entry):
 | 
					    def __init__(self, entry):
 | 
				
			||||||
        self.update(entry)
 | 
					        self.update(entry)
 | 
				
			||||||
        self.firstfetched = datetime.datetime.now()
 | 
					        self.firstfetched = datetime.now()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def __repr__(self):
 | 
					    def __repr__(self):
 | 
				
			||||||
       return "<Entry('%s','%s','%s')>" % (self.title, "", "")
 | 
					       return "<Entry('%s','%s','%s')>" % (self.title, "", "")
 | 
				
			||||||
@@ -116,13 +118,16 @@ class Entry(Base):
 | 
				
			|||||||
            self.link = entry.get('link').encode('latin-1', 'replace')
 | 
					            self.link = entry.get('link').encode('latin-1', 'replace')
 | 
				
			||||||
        if entry.has_key('summary'):
 | 
					        if entry.has_key('summary'):
 | 
				
			||||||
            self.summary = entry.get('summary').encode('latin-1', 'replace')
 | 
					            self.summary = entry.get('summary').encode('latin-1', 'replace')
 | 
				
			||||||
        if entry.has_key('content'):
 | 
					        #if entry.has_key('content'):
 | 
				
			||||||
            self.content = entry.get('content').encode('latin-1', 'replace')
 | 
					            #self.content = entry.get('content')
 | 
				
			||||||
        if entry.has_key('author'):
 | 
					        if entry.has_key('author'):
 | 
				
			||||||
            self.author = entry.get('author').encode('latin-1', 'replace')
 | 
					            self.author = entry.get('author').encode('latin-1', 'replace')
 | 
				
			||||||
 | 
					        if entry.has_key('updated_parsed'):
 | 
				
			||||||
 | 
					            updated_parsed = entry.get('updated_parsed')
 | 
				
			||||||
 | 
					            self.updated = datetime.fromtimestamp(mktime(updated_parsed))
 | 
				
			||||||
        if entry.has_key('enclosures'):
 | 
					        if entry.has_key('enclosures'):
 | 
				
			||||||
            self.enclosures = entry.get('enclosures').encode('latin-1', 'replace')
 | 
					            self.enclosures = entry.get('enclosures').encode('latin-1', 'replace')
 | 
				
			||||||
        self.lastfetched = datetime.datetime.now()
 | 
					        self.lastfetched = datetime.now()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def send_mail(sender, subject, body):
 | 
					def send_mail(sender, subject, body):
 | 
				
			||||||
@@ -153,7 +158,7 @@ def mail_daily_digest(session):
 | 
				
			|||||||
        body = body + get_entry_text(entry)[0:100]
 | 
					        body = body + get_entry_text(entry)[0:100]
 | 
				
			||||||
        body = body + '\n'
 | 
					        body = body + '\n'
 | 
				
			||||||
        body = body + 'link: [%s]\n\n' % entry.link
 | 
					        body = body + 'link: [%s]\n\n' % entry.link
 | 
				
			||||||
    today = datetime.datetime.now()
 | 
					    today = datetime.now()
 | 
				
			||||||
    subject = '[atomstrom] %s (%s) - %d entries' % (today.strftime('%y%m%d'), today.strftime('%A'), count)
 | 
					    subject = '[atomstrom] %s (%s) - %d entries' % (today.strftime('%y%m%d'), today.strftime('%A'), count)
 | 
				
			||||||
    send_mail(sender, subject, body)
 | 
					    send_mail(sender, subject, body)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user