mirror of
https://github.com/kennethreitz-archive/winchestar-v2.git
synced 2026-06-20 23:20:56 +00:00
51 lines
1.1 KiB
Python
Executable File
51 lines
1.1 KiB
Python
Executable File
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
from datetime import datetime
|
|
|
|
from flask.ext.script import Manager
|
|
|
|
from star import app
|
|
from star.core import db, SavedArticle
|
|
from star.scraper import star
|
|
|
|
|
|
manager = Manager(app)
|
|
|
|
|
|
@manager.command
|
|
def syncdb():
|
|
"""Initializes the database."""
|
|
db.create_all()
|
|
|
|
|
|
@manager.command
|
|
def cleardb():
|
|
"""Drops the database."""
|
|
for article in SavedArticle.query.all():
|
|
db.session.delete(article)
|
|
|
|
db.session.commit()
|
|
|
|
|
|
@manager.command
|
|
@manager.option('-s', '--start', dest='start', default=datetime.now())
|
|
@manager.option('-e', '--end', dest='end', default=None)
|
|
def fetch(start=None, end=None):
|
|
for article in star.fetch_articles(start, end):
|
|
try:
|
|
print 'Fetched: {0}'.format(article.title)
|
|
except UnicodeEncodeError:
|
|
print 'Fetched: <bad unicode>'
|
|
print ' {}'.format(repr(article.title))
|
|
|
|
article = SavedArticle.from_article(article)
|
|
article.save()
|
|
print
|
|
|
|
print 'Done!'
|
|
|
|
|
|
if __name__ == "__main__":
|
|
manager.run()
|