Exemplo n.º 1
0
def configure(app):
    # Markdown(app)
    Mistune(app)
    CsrfProtect(app)
    if app.config.get('GRAVATAR'):
        from flask.ext.gravatar import Gravatar
        Gravatar(app, **app.config.get('GRAVATAR'))
Exemplo n.º 2
0
def init_gravatar(app):
    app.gravatar = Gravatar(
        app,
        size=350,  # Default to header profile image size
        default='mm',  # Options available at gravatar.com
        force_default=False,
        force_lower=False)
Exemplo n.º 3
0
def configure(app):
    # Markdown(app)
    Misaka(app,
           fenced_code=True,
           autolink=True,
           no_intra_emphasis=True,
           strikethrough=True,
           superscript=True,
           tables=True,
           hard_wrap=True,
           safelink=True)
    CsrfProtect(app)
    if app.config.get('GRAVATAR'):
        from flask.ext.gravatar import Gravatar
        Gravatar(app, **app.config.get('GRAVATAR'))
Exemplo n.º 4
0
    def init_extensions(self):
        db.init_app(self)
        self.assets = Environment(self)
        self.assets.directory = os.path.join(path, 'assets')
        self.assets.url = '/media'

        self.login = LoginManager()
        self.login.anonymous_user = self.login_anonymous
        self.login.login_view = self.login_view
        self.login.login_message = self.login_message
        self.login.refresh_view = self.login_refresh_view
        self.login.init_app(self)
        self.login.user_loader(self.load_user)
        self.login.init_app(self)

        self.gravatar = Gravatar(
            self,
            size=350,  # Default to header profile image size
            default='mm',  # Options available at gravatar.com
            force_default=False,
            force_lower=False)
Exemplo n.º 5
0
from flask import Flask, render_template, request, redirect, url_for, flash, session
from flask.ext.seasurf import SeaSurf
from flask.ext.bcrypt import Bcrypt
from flask.ext.gravatar import Gravatar
from functools import wraps

import settings

from mongoengine import connect, Document, StringField, EmailField, DateTimeField, URLField

app = Flask(__name__)
app.config.from_object(settings)

csrf = SeaSurf(app)
bcrypt = Bcrypt(app)
gravatar = Gravatar(app, size=160, default='mm')

database = urlparse(os.environ.get('MONGOHQ_URL', 'mongodb://localhost/flask-job-board'))

connect(database.path[1:], 
        host=database.hostname,
        port=database.port, 
        username=database.username,
        password=database.password)

class User(Document):
	username = StringField(required=True)
	email = EmailField(required=True)
	first_name = StringField(max_length=50)
	last_name = StringField(max_length=50)
	location = StringField()
Exemplo n.º 6
0
from flask.ext.mail import Mail
import pytz

app = Flask(__name__)
app.config.from_pyfile("../config.py.example", silent=True)
app.config.from_pyfile("../config.py", silent=True)
app.jinja_env.add_extension('pyjade.ext.jinja.PyJadeExtension')
manager = Manager(app)
db = SQLAlchemy(app)
markdown = Markdown(app, safe_mode="escape")
login_manager = LoginManager(app)
sentry = Sentry(app)
gravatar = Gravatar(app,
                    size=48,
                    rating='g',
                    default='identicon',
                    force_default=False,
                    use_ssl=True,
                    base_url=None)
babel = Babel(app)
supported_languages = ['en', 'de']
migrate = Migrate(app, db)
manager.add_command("db", MigrateCommand)
mail = Mail(app)
default_timezone = pytz.timezone(app.config["DEFAULT_TIMEZONE"])

from dudel.util import load_icons

ICONS = load_icons("dudel/icons.txt")

import dudel.assets
Exemplo n.º 7
0
def configure(app):
    Mistune(app)
    if app.config.get('GRAVATAR'):
        from flask.ext.gravatar import Gravatar
        Gravatar(app, **app.config.get('GRAVATAR'))
Exemplo n.º 8
0
# Production run mode
elif os.getenv('MIAMI_ENV') == 'prod':
    # Get port number from Heroku environment variable
    app.config[
        'SQLALCHEMY_DATABASE_URI'] = 'mysql+mysqldb://miami:miami@localhost:3306/miami'

db = SQLAlchemy(app)
import miami.models
from miami.models import Anonymous, Task, TimeSlot, User, Team, Burning, Category

login_manager = LoginManager()
login_manager.anonymous_user = Anonymous

gravatar = Gravatar(app,
                    size=100,
                    rating='g',
                    default='retro',
                    force_default=False,
                    force_lower=False)


@login_manager.user_loader
def load_user(id):
    return User.query.get(int(id))


login_manager.setup_app(app)

# Create the Flask-Restless API manager.
auth_func = lambda: current_user.is_authenticated()
manager = flask.ext.restless.APIManager(app, flask_sqlalchemy_db=db)
Exemplo n.º 9
0

class AdminHome(AdminIndexView):
    @expose(u'/')
    def index(self):
        return redirect(url_for(u'dashboard.index'))


admin = Admin(name='Apollo', index_view=AdminHome(name=u'Dashboard'))
babel = Babel()
cache = Cache()
db = MongoEngine()
mail = Mail()
menu = Menu()
security = Security()
gravatar = Gravatar(size=25, default="identicon", use_ssl=True)
sentry = Sentry()
csrf = CsrfProtect()


class Service(object):
    """A :class:`Service` instance encapsulates common MongoEngine document
    operations in the context of a :class:`Flask` application.
    """
    __model__ = None

    def _isinstance(self, model, raise_error=True):
        """Checks if the specified model instance matches the service's model.
        By default this method will raise a `ValueError` if the model is not
        the expected type.
Exemplo n.º 10
0
from flask import Flask
from flask.ext.login import LoginManager
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.gravatar import Gravatar

app = Flask(__name__)
app.config.from_object('config')
db = SQLAlchemy(app)

login_manager = LoginManager()
login_manager.init_app(app)
login_manager.login_view = 'login'

gravatar = Gravatar(app, size=96, default='mm')

from issues import models, api, session, frontend
Exemplo n.º 11
0
def create_app(mongo_uri, debug=False, testing=False):
    app = Flask(__name__)
    app.config['DEBUG'] = debug
    app.config['TESTING'] = testing
    app.config['WTF_CSRF_ENABLED'] = not testing
    app.config['MONGO_URI'] = mongo_uri
    app.secret_key = os.environ.get('SECRET_KEY', 'clef pour les tests')
    Babel(default_locale='fr').init_app(app)
    Gravatar().init_app(app)
    mongo.init_app(app)
    login_manager.init_app(app)
    bcrypt.init_app(app)

    app.register_blueprint(auth)
    app.register_blueprint(bookmarks)
    app.register_blueprint(tools, url_prefix='/tools')
    app.register_blueprint(profil, url_prefix='/profil')

    @app.before_first_request
    def create_mongo_index():
        mongo.db.bookmarks.ensure_index('published',
                                        pymongo.DESCENDING,
                                        background=True)
        mongo.db.bookmarks.ensure_index('user._id',
                                        pymongo.DESCENDING,
                                        background=True)
        mongo.db.bookmarks.ensure_index('title',
                                        pymongo.ASCENDING,
                                        background=True)
        mongo.db.bookmarks.ensure_index('description', background=True)
        mongo.db.bookmarks.ensure_index('tags',
                                        pymongo.ASCENDING,
                                        background=True)
        mongo.db.bookmarks.ensure_index([('user._id', pymongo.ASCENDING),
                                         ('url', pymongo.ASCENDING)],
                                        background=True,
                                        unique=True)

        mongo.db.users.ensure_index('email',
                                    pymongo.ASCENDING,
                                    background=True,
                                    unique=True)
        mongo.db.users.ensure_index('nickname',
                                    pymongo.ASCENDING,
                                    background=True,
                                    unique=True)

    @environmentfilter
    def group_by_humanize_date(environment, value, attribute):
        sorted_collections = sorted(value,
                                    key=make_attrgetter(
                                        environment, attribute))
        return map(
            _GroupTuple,
            groupby(sorted_collections,
                    _make_attr_getter_for_date(environment, attribute)))

    app.jinja_env.filters['group_by_humanize_date'] = group_by_humanize_date

    @app.template_filter()
    def group_by_first_letter(array_of_string):
        return groupby(array_of_string, key=operator.itemgetter(0))

    def _make_attr_getter_for_date(environment, attribute):
        def callback(x):
            return arrow.get(environment.getitem(
                x, attribute)).humanize(locale='FR_fr')

        return callback

    return app
Exemplo n.º 12
0
# -*- coding: utf-8 -*-

from flask.ext.sqlalchemy import SQLAlchemy
db = SQLAlchemy()

from flask.ext.login import LoginManager
login_manager = LoginManager()

from flask.ext.debugtoolbar import DebugToolbarExtension
debugtoolbar = DebugToolbarExtension

from flask.ext.gravatar import Gravatar
gravatar = Gravatar(default='identicon', rating='g')
Exemplo n.º 13
0
# -*- coding: utf-8 -*-
"""Extensions module. Each extension is initialized in the app factory located
in app.py
"""

from flask.ext.bcrypt import Bcrypt
bcrypt = Bcrypt()

from flask.ext.login import LoginManager
login_manager = LoginManager()

from flask.ext.sqlalchemy import SQLAlchemy
db = SQLAlchemy()

from flask.ext.migrate import Migrate
migrate = Migrate()

from flask.ext.cache import Cache
cache = Cache()

from flask.ext.debugtoolbar import DebugToolbarExtension
debug_toolbar = DebugToolbarExtension()

from flask.ext.gravatar import Gravatar
gravatar = Gravatar()
Exemplo n.º 14
0
    Look into the file for examples.


    :copyright: \(c) 2012 by Roman Semirook.
    :license: BSD, see LICENSE for more details.

"""

from flask.ext.debugtoolbar import DebugToolbarExtension
from flask.ext.gravatar import Gravatar
from flask.ext.login import LoginManager
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.assets import Environment

#: Our `Flask-SQLAlchemy <http://pythonhosted.org/Flask-SQLAlchemy/>`_ database object
db = SQLAlchemy()

#: The `Flask-Assets <http://flask-assets.readthedocs.org/en/latest/>`_ :class:`~flask.ext.assets.Environment` to be later registered.
assets = Environment()

#: `Flask-Login <https://flask-login.readthedocs.org/en/latest/>`_ manager object
login_manager = LoginManager()

# Almost any modern Flask extension has special init_app()
# method for deferred app binding. But there are a couple of
# popular extensions that no nothing about such use case.

gravatar = lambda app: Gravatar(app, size=50)  # has no init_app()
toolbar = lambda app: DebugToolbarExtension(app)  # has no init_app()
Exemplo n.º 15
0
"""
    ext
    ~~~

    Good place for pluggable extensions.

    :copyright: (c) 2015 by Roman Zaiev.
    :license: BSD, see LICENSE for more details.
"""

from flask.ext.debugtoolbar import DebugToolbarExtension
from flask.ext.gravatar import Gravatar
from flask.ext.login import LoginManager
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.assets import Environment
from flask.ext.restplus import Api

db = SQLAlchemy()
assets = Environment()
login_manager = LoginManager()
gravatar = Gravatar(size=50)
toolbar = DebugToolbarExtension()
api = Api(default='api')

# Almost any modern Flask extension has special init_app()
# method for deferred app binding. But there are a couple of
# popular extensions that no nothing about such use case.
# Or, maybe, you have to use some app.config settings

# gravatar = lambda app: Gravatar(app, size=50)
Exemplo n.º 16
0
#Create the Flask app
app = Flask(__name__,
            static_folder='../static',
            template_folder='../templates')

#Config
app.config.from_object('flask_app.config.Configuration')

#secret key
app.secret_key = 'A0Zr98j/3yX R~XHH!jmN]LWX/,?RT'

#Login manager
login_manager = LoginManager()
login_manager.login_view = 'login'
login_manager.init_app(app)

#gravatar
gravatar = Gravatar(
    app,
    size=40,
    rating='g',
    default='retro',
    force_default=False,
    use_ssl=False,
    base_url=None,
)

#Connect to MongoLabs
db = MongoEngine(app)
app.session_interface = MongoEngineSessionInterface(db)
Exemplo n.º 17
0
from flask import *
from flask.ext.sqlalchemy import *
from sqlalchemy.sql import func
from sqlalchemy.exc import *
from werkzeug import generate_password_hash, check_password_hash

from PIL import Image, ImageOps
from slugify import slugify
from forms import *
from flask.ext.gravatar import Gravatar

app = Flask(__name__)
app.config.from_object('config')

db = SQLAlchemy(app)
gravatar = Gravatar(app, size=100)

@app.template_filter()
def timesince(dt, default="just now"):
    """
    Returns string representing "time since"
    """
    
    now = datetime.utcnow()
    diff = now - dt
    
    periods = (
        (diff.days / 365, "year", "years"),
        (diff.days / 30, "month", "months"),
        (diff.days / 7, "week", "weeks"),
        (diff.days, "day", "days"),
Exemplo n.º 18
0
csrf = CsrfProtect()
db = SQLAlchemy()
babel = Babel()
migrate = Migrate()

mail = Mail()
admin = Admin(template_mode='bootstrap3', index_view=MyHomeView())
admin.add_view(AnalyticsView(name="Analytics", endpoint='analytics'))
admin.add_view(EmailRenderView(name="Email Renders", endpoint='email-renders'))
security = Security()
api_manager = APIManager()
compress = Compress()
gravatar = Gravatar(size=42,
                    rating='g',
                    default='mm',
                    force_default=False,
                    use_ssl=True,
                    base_url=None)

user_images = UploadSet('userimages', IMAGES)
review_images = UploadSet('reviewimages', IMAGES)
shop_images = UploadSet('shopimages', IMAGES)

resize = Resize()
assets = Environment()
js_assets = Bundle('js/main.js', filters='rjsmin', output='js/main.min.js')
css_assets = Bundle('css/global.css',
                    filters='cssmin',
                    output='css/global.min.css')

Exemplo n.º 19
0
from pybossa.util import Google
google = Google()

# Markdown support
from flask.ext.misaka import Misaka
misaka = Misaka()

# Babel
from flask.ext.babel import Babel
babel = Babel()

# Gravatar
from flask.ext.gravatar import Gravatar
gravatar = Gravatar(size=100,
                    rating='g',
                    default='mm',
                    force_default=False,
                    force_lower=False)

# Uploader
uploader = None

# CSRF protection
from flask_wtf.csrf import CsrfProtect
csrf = CsrfProtect()

# Timeouts
timeouts = dict()

# Ratelimits
ratelimits = dict()
Exemplo n.º 20
0
    url_for,
    request,
    g,
)
from flask.ext.stormpath import login_required, user, StormpathManager

from application import application
from application.models import Activity
from application.forms import StartDateForm
from application import runkeeper
from requests_oauthlib import OAuth2Session
from flask.ext.gravatar import Gravatar
import requests
import json

gravatar = Gravatar(application)
stormpath_manager = StormpathManager(application)


def set_globals():
    g.user = user
    g.total_activities = 0
    g.total_meters = 0
    g.route_activities = 0
    g.route_meters = 0
    if hasattr(user, 'custom_data'):
        if user.custom_data['start_date'] is None:
            user.custom_data['start_date'] = application.config['START_DATE']
            user.save()
        if user.custom_data['route'] is None:
            user.custom_data['route'] = application.config['ROUTE']
Exemplo n.º 21
0
from flask import Flask
from flask_mail import Mail
from flask.ext.gravatar import Gravatar
from flask.ext.sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config.from_object('auth.config')

mail = Mail(app)
gravatar = Gravatar(app, use_ssl=True)
db = SQLAlchemy(app)

import hooks
import models
import views