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