awips2/pythonPackages/Werkzeug-0.12.1/examples/manage-plnt.py
2017-04-21 18:33:55 -06:00

65 lines
2 KiB
Python
Executable file

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Manage plnt
~~~~~~~~~~~
This script manages the plnt application.
:copyright: (c) 2009 by the Werkzeug Team, see AUTHORS for more details.
:license: BSD, see LICENSE for more details.
"""
import os
from werkzeug import script
def make_app():
"""Helper function that creates a plnt app."""
from plnt import Plnt
database_uri = os.environ.get('PLNT_DATABASE_URI')
app = Plnt(database_uri or 'sqlite:////tmp/plnt.db')
app.bind_to_context()
return app
action_runserver = script.make_runserver(make_app, use_reloader=True)
action_shell = script.make_shell(lambda: {'app': make_app()})
def action_initdb():
"""Initialize the database"""
from plnt.database import Blog, session
make_app().init_database()
# and now fill in some python blogs everybody should read (shamelessly
# added my own blog too)
blogs = [
Blog('Armin Ronacher', 'http://lucumr.pocoo.org/',
'http://lucumr.pocoo.org/cogitations/feed/'),
Blog('Georg Brandl', 'http://pyside.blogspot.com/',
'http://pyside.blogspot.com/feeds/posts/default'),
Blog('Ian Bicking', 'http://blog.ianbicking.org/',
'http://blog.ianbicking.org/feed/'),
Blog('Amir Salihefendic', 'http://amix.dk/',
'http://feeds.feedburner.com/amixdk'),
Blog('Christopher Lenz', 'http://www.cmlenz.net/blog/',
'http://www.cmlenz.net/blog/atom.xml'),
Blog('Frederick Lundh', 'http://online.effbot.org/',
'http://online.effbot.org/rss.xml')
]
# okay. got tired here. if someone feels that he is missing, drop me
# a line ;-)
for blog in blogs:
session.add(blog)
session.commit()
print 'Initialized database, now run manage-plnt.py sync to get the posts'
def action_sync():
"""Sync the blogs in the planet. Call this from a cronjob."""
from plnt.sync import sync
make_app().bind_to_context()
sync()
if __name__ == '__main__':
script.run()