refactoring of data model
This commit is contained in:
43
atomstrom.py
43
atomstrom.py
@ -175,7 +175,7 @@ def process_feed_entry(session, feed, entry):
|
||||
thisentry.fullpage = hp.unescape(thisentry.fullpage)
|
||||
if thisentry.readability:
|
||||
thisentry.readability = hp.unescape(thisentry.readability)
|
||||
feed.entry.append(thisentry)
|
||||
feed.entries.append(thisentry)
|
||||
session.commit()
|
||||
return 1
|
||||
|
||||
@ -226,7 +226,7 @@ def list_all_feeds(session):
|
||||
for feed in allfeeds:
|
||||
print feed
|
||||
totalfeeds += 1
|
||||
totalentries += len(feed.entry)
|
||||
totalentries += len(feed.entries)
|
||||
print 'TOTAL: %d entries in %d feeds.' % (totalentries, totalfeeds)
|
||||
|
||||
def fetch_all_feeds(session):
|
||||
@ -243,51 +243,35 @@ def ask_ok(prompt, retries=4, complaint='Yes or no, please!'):
|
||||
ok = raw_input(prompt)
|
||||
if ok in ('y', 'ye', 'yes'):
|
||||
return True
|
||||
if ok in ('n', 'no', 'nop', 'nope'):
|
||||
if ok in ('n', 'no'):
|
||||
return False
|
||||
retries = retries - 1
|
||||
if retries < 0:
|
||||
return False
|
||||
print complaint
|
||||
|
||||
def delete_feed(session, feed_id):
|
||||
def feed_ask_delete(session, feed_id):
|
||||
feed = session.query(Feed).\
|
||||
filter(Feed.id == feed_id).\
|
||||
first()
|
||||
print feed
|
||||
if ask_ok('> Do you really want to delete feed %d? ' % feed_id):
|
||||
if ask_ok('> Do you really want to delete feed %d? ' % feed.id):
|
||||
print 'deleting...'
|
||||
entries = session.query(Entry).\
|
||||
filter(Entry.feed_id == feed_id).\
|
||||
all()
|
||||
for entry in entries:
|
||||
session.delete(entry)
|
||||
feedinfo = session.query(Feedinfo).\
|
||||
filter(Feedinfo.feed_id == feed_id).\
|
||||
first()
|
||||
session.delete(feedinfo)
|
||||
session.delete(feed)
|
||||
print '... done.'
|
||||
|
||||
def reset_feed(session, feed_id):
|
||||
def feed_ask_reset(session, feed_id):
|
||||
feed = session.query(Feed).\
|
||||
filter(Feed.id == feed_id).\
|
||||
first()
|
||||
print feed
|
||||
if ask_ok('> Do you really want to reset feed %d? ' % feed_id):
|
||||
if ask_ok('> Do you really want to reset feed %d? ' % feed.id):
|
||||
print 'resetting...'
|
||||
entries = session.query(Entry).\
|
||||
filter(Entry.feed_id == feed_id).\
|
||||
all()
|
||||
for entry in entries:
|
||||
session.delete(entry)
|
||||
feedinfo = session.query(Feedinfo).\
|
||||
filter(Feedinfo.feed_id == feed_id).\
|
||||
first()
|
||||
session.delete(feedinfo)
|
||||
feed.reset()
|
||||
print '... done.'
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
def main():
|
||||
if (sys.stdout.encoding is None):
|
||||
streamWriter = codecs.lookup('utf-8')[-1]
|
||||
sys.stdout = streamWriter(sys.stdout)
|
||||
@ -335,10 +319,13 @@ if __name__ == '__main__':
|
||||
if args.list:
|
||||
list_all_feeds(session)
|
||||
if args.delete:
|
||||
delete_feed(session, args.delete)
|
||||
feed_ask_delete(session, args.delete)
|
||||
if args.reset:
|
||||
reset_feed(session, args.reset)
|
||||
feed_ask_reset(session, args.reset)
|
||||
if not (args.fetch or args.single or args.daily or args.list or args.delete or args.reset):
|
||||
parser.print_help()
|
||||
|
||||
session.commit()
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
Reference in New Issue
Block a user