def init_app(self, app, storage=None, cache=None): """ Initialize the engine. :param app: The app to use :type app: Object :param storage: The blog storage instance that implements the :type storage: Object :param cache: (Optional) A Flask-Cache object to enable caching :type cache: Object ``Storage`` class interface. """ self.app = app self.config = self.app.config self.storage = storage or self.storage self.cache = cache or self.cache self._register_plugins(self.app, self.config) from .views import create_blueprint blog_app = create_blueprint(__name__, self) # external urls blueprint_created.send(self.app, engine=self, blueprint=blog_app) self.app.register_blueprint( blog_app, url_prefix=self.config.get("BLOGGING_URL_PREFIX")) self.app.extensions["FLASK_BLOGGING_ENGINE"] = self # duplicate self.app.extensions["blogging"] = self self.principal = Principal(self.app) engine_initialised.send(self.app, engine=self) self.ffu = FlaskFileUpload(app)
def setUp(self): self.app = Flask(__name__) self.app.config["SECRET_KEY"] = "test" self.app.config["WTF_CSRF_ENABLED"] = False self.app.config['TESTING'] = True self.login_manager = LoginManager(self.app) self.ffu = FlaskFileUpload(self.app) self.client = self.app.test_client()
def setUp(self): self.app = Flask(__name__) self.app.config["SECRET_KEY"] = "test" self.app.config["WTF_CSRF_ENABLED"] = False self.app.config['TESTING'] = True self.app.config["FILEUPLOAD_ALLOWED_EXTENSIONS"] = ["png", "jpg"] self.app.config["FILEUPLOAD_CONVERT_TO_SNAKE_CASE"] = True self.login_manager = LoginManager(self.app) self.ffu = FlaskFileUpload(self.app) self.dummy_stream = io.BytesIO(b"some initial text data") self.fs = FileStorage(self.dummy_stream, "dummy.png")
app.config["BLOGGING_URL_PREFIX"] = "/blog" app.config["BLOGGING_DISQUS_SITENAME"] = "test" app.config["BLOGGING_SITEURL"] = "http://localhost:8000" app.config["BLOGGING_SITENAME"] = "My Site" app.config["BLOGGING_TWITTER_USERNAME"] = "******" app.config["BLOGGING_ALLOW_FILEUPLOAD"] = True app.config["FILEUPLOAD_IMG_FOLDER"] = "fileupload" app.config["FILEUPLOAD_PREFIX"] = "/fileupload" app.config["FILEUPLOAD_ALLOWED_EXTENSIONS"] = ["png", "jpg", "jpeg", "gif"] # extensions """Google Cloud Storage configuration docs: https://github.com/Speedy1991/Flask-FileUpload/tree/master/doc/google_cloud_storage.md """ gcstorage = GoogleCloudStorage(app) file_upload = FlaskFileUpload(app, storage=gcstorage) gc_datastore = GoogleCloudDatastore() blog_engine = BloggingEngine(app, gc_datastore, file_upload=file_upload) login_manager = LoginManager(app) class User(UserMixin): def __init__(self, user_id): self.id = user_id def get_name(self): return "Paul Dirac" # typically the user's name @login_manager.user_loader
from flask import Flask, redirect from flask_fileupload import FlaskFileUpload from flask_login import LoginManager, UserMixin, login_user, logout_user app = Flask(__name__) app.config.from_object("config") lm = LoginManager(app) fue = FlaskFileUpload(app) class User(UserMixin): def __init__(self, user_id): self.id = user_id @lm.user_loader def load_user(user_id): return User(user_id) @app.route("/login/") def login(): user = User("testuser") login_user(user) return redirect("/upload") @app.route("/logout/") def logout(): logout_user() return redirect("/")