flask/flask_website/listings/extensions.py

200 lines
6.8 KiB
Python
Raw Normal View History

2010-07-15 19:25:23 +02:00
from urlparse import urlparse
from werkzeug import url_quote
from flask import Markup
class Extension(object):
def __init__(self, name, author, description,
2010-07-23 14:57:27 +01:00
github=None, bitbucket=None, docs=None, website=None,
approved=False):
2010-07-15 19:25:23 +02:00
self.name = name
self.author = author
self.description = Markup(description)
self.github = github
self.bitbucket = bitbucket
self.docs = docs
self.website = website
2010-07-23 14:57:27 +01:00
self.approved = approved
2010-07-15 19:25:23 +02:00
2010-07-23 13:03:29 +01:00
def to_json(self):
rv = vars(self).copy()
rv['description'] = unicode(rv['description'])
return rv
2010-07-15 19:25:23 +02:00
@property
def pypi(self):
return 'http://pypi.python.org/pypi/%s' % url_quote(self.name)
@property
def docserver(self):
if self.docs:
return urlparse(self.docs)[1]
extensions = [
Extension('Flask-OAuth', 'Armin Ronacher',
description='''
<p>Adds <a href="http://oauth.net/">OAuth</a> support to Flask.
''',
github='mitsuhiko/flask-oauth',
docs='http://packages.python.org/Flask-OAuth/'
),
Extension('Flask-OpenID', 'Armin Ronacher',
description='''
<p>Adds <a href="http://openid.net/">OpenID</a> support to Flask.
''',
github='mitsuhiko/flask-openid',
docs='http://packages.python.org/Flask-OpenID/'
),
Extension('Flask-Babel', 'Armin Ronacher',
description='''
<p>Adds i18n/l10n support to Flask, based on
<a href=http://babel.edgewall.org/>babel</a> and
<a href=http://pytz.sourceforge.net/>pytz</a>.
''',
github='mitsuhiko/flask-babel',
2010-07-23 14:57:27 +01:00
docs='http://packages.python.org/Flask-Babel/',
approved=True
2010-07-15 19:25:23 +02:00
),
Extension('Flask-SQLAlchemy', 'Armin Ronacher',
description='''
<p>Adds SQLAlchemy support to Flask. Quick and easy.
''',
github='mitsuhiko/flask-sqlalchemy',
docs='http://packages.python.org/Flask-SQLAlchemy/',
approved=True
2010-07-15 19:25:23 +02:00
),
Extension('Flask-XML-RPC', 'Matthew Frazier',
description='''
<p>Adds <a href="http://www.xmlrpc.com/">XML-RPC</a> support to Flask.
''',
bitbucket='leafstorm/flask-xml-rpc',
2010-07-30 10:50:18 +02:00
docs='http://packages.python.org/Flask-XML-RPC/',
approved=True
2010-07-15 19:25:23 +02:00
),
Extension('Flask-CouchDB', 'Matthew Frazier',
description='''
<p>Adds <a href="http://couchdb.apache.org/">CouchDB</a> support to Flask.
''',
bitbucket='leafstorm/flask-couchdb',
2010-07-26 17:14:59 +02:00
docs='http://packages.python.org/Flask-CouchDB/',
approved=True
2010-07-15 19:25:23 +02:00
),
Extension('Flask-Uploads', 'Matthew Frazier',
description='''
<p>Flask-Uploads allows your application to flexibly and
efficiently handle file uploading and serving the uploaded files.
You can create different sets of uploads - one for document
attachments, one for photos, etc.
''',
bitbucket='leafstorm/flask-uploads',
docs='http://packages.python.org/Flask-Uploads/',
approved=True
2010-07-15 19:25:23 +02:00
),
2010-07-16 13:21:45 +02:00
Extension('Flask-Themes', 'Matthew Frazier',
description='''
<p>Flask-Themes makes it easy for your application to support
a wide range of appearances.
''',
bitbucket='leafstorm/flask-themes',
docs='http://packages.python.org/Flask-Themes/',
approved=True
2010-07-16 13:21:45 +02:00
),
Extension('Flask-CouchDBKit', 'Kridsada Thanabulpong',
description='''
<p>Adds <a href="http://www.couchdbkit.org/">CouchDBKit</a> support to Flask.
''',
github='sirn/flask-couchdbkit',
docs='http://packages.python.org/Flask-CouchDBKit/'
),
2010-07-15 19:25:23 +02:00
Extension('Flask-Genshi', 'Dag Odenhall',
description='''
<p>Adds support for the <a href="http://genshi.edgewall.org/">Genshi</a>
templating language to Flask applications.
''',
bitbucket='dag/flask-genshi',
docs='http://packages.python.org/Flask-Genshi/',
approved=True
2010-07-15 19:25:23 +02:00
),
2010-07-29 11:04:09 +02:00
Extension('Flask-Mail', 'Dan Jacob',
2010-07-15 19:25:23 +02:00
description='''
<p>Makes sending mails from Flask applications very easy and
has also support for unittesting.
''',
bitbucket='danjac/flask-mail',
2010-07-29 11:04:09 +02:00
docs='http://packages.python.org/flask-mail/',
approved=True
2010-07-15 19:25:23 +02:00
),
Extension('Flask-WTF', 'Dan Jacob',
description='''
<p>Flask-WTF offers simple integration with WTForms. This
integration includes optional CSRF handling for greater security.
''',
bitbucket='danjac/flask-wtf',
2010-07-27 14:11:17 +02:00
docs='http://packages.python.org/Flask-WTF/',
approved=True
2010-07-15 19:25:23 +02:00
),
Extension('Flask-Testing', 'Dan Jacob',
description='''
<p>The Flask-Testing extension provides unit testing utilities for Flask.
''',
bitbucket='danjac/flask-testing',
2010-07-27 14:11:17 +02:00
docs='http://packages.python.org/Flask-Testing/',
approved=True
2010-07-15 19:25:23 +02:00
),
Extension('Flask-Script', 'Dan Jacob',
description='''
<p>The Flask-Script extension provides support for writing external
scripts in Flask. It uses argparse to parse command line arguments.
''',
bitbucket='danjac/flask-script',
2010-07-26 13:21:25 +02:00
docs='http://packages.python.org/Flask-Script/',
approved=True
2010-07-15 19:25:23 +02:00
),
Extension('flask-csrf', 'Steve Losh',
description='''
<p>A small Flask extension for adding
<a href=http://en.wikipedia.org/wiki/CSRF>CSRF</a> protection.
''',
docs='http://sjl.bitbucket.org/flask-csrf/',
bitbucket='sjl/flask-csrf'
),
Extension('flask-lesscss', 'Steve Losh',
description='''
<p>
A small Flask extension that makes it easy to use
<a href=http://lesscss.org/>LessCSS</a> with your
Flask application.
''',
docs='http://sjl.bitbucket.org/flask-lesscss/',
bitbucket='sjl/flask-lesscss'
),
Extension('Flask-Creole', 'Ali Afshar',
description='''
<p>Creole parser filters for Flask.
''',
docs='http://packages.python.org/Flask-Creole',
bitbucket='aafshar/flask-creole-main',
approved=True
2010-09-01 19:43:06 +01:00
),
Extension('Flask-Cache', 'Thadeus Burgess',
description='''
<p>Adds cache support to your Flask application.
''',
docs='http://packages.python.org/Flask-Cache',
github='thadeusb/flask-cache',
),
2010-09-08 21:08:23 +01:00
Extension('Flask-Principal', 'Ali Afshar',
description='''
<p>Identity management for Flask.
''',
docs='http://packages.python.org/Flask-Principal',
bitbucket='aafshar/flask-principal-main',
approved=False
),
2010-07-15 19:25:23 +02:00
]
extensions.sort(key=lambda x: x.name.lower())