{ "info": { "author": "Rafael Medina Garc\u00eda", "author_email": "rafamedgar@gmail.com.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Framework :: Flask", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Flask-WaffleConf |PyPI version|\n===============================\n\nWaffleConf is a Flask extension that enables storage of configuration\nvariables in the database as well as runtime modification of said\nvariables.\n\n**Released under GPLv2+ license.**\n\nInstallation\n============\n\n.. code:: shell\n\n $ pip install Flask-WaffleConf\n\nConfiguration\n=============\n\nSimple usage of the extension requires the following configuration\nvariables (e.g., in your application's ``config.py``):\n\n- ``WAFFLE_CONFS``: used for specifying the configuration variables\n that are going to be stored in the database. It has the following\n structure:\n\n.. code:: python\n\n WAFFLE_CONFS = {\n 'MAX_FILESIZE': {\n 'desc': 'Max upload filesize (in bytes)',\n 'default': 1000\n },\n\n 'SITENAME': {\n 'desc': 'Name of the site appearing in the header',\n 'default': 'Waffle'\n }\n }\n\nCheck the\n`documentation `__\nfor advanced usage\n\nExample Application using SQLAlchemy as ORM\n===========================================\n\n.. code:: python\n\n from flask import Flask, current_app\n from flask_waffleconf import WaffleConf, AlchemyWaffleStore, \\\n WaffleMixin\n from flask_sqlalchemy import SQLAlchemy\n\n app = Flask(__name__)\n app.config['WAFFLE_CONFS'] = {\n 'MAX_FILESIZE': {\n 'desc': 'Max upload filesize (in bytes)',\n 'default': 1000\n },\n\n 'SITENAME': {\n 'desc': 'Name of the site appearing in the header',\n 'default': 'Waffle'\n }\n }\n\n # Define your database\n # db = ...\n\n # Define model\n class ConfModel(db.Model, WaffleMixin):\n __tablename__ = 'confs'\n\n id = db.Column(db.Integer, primary_key=True)\n key = db.Column(db.String(255), unique=True)\n value = db.Column(db.Text)\n\n # Create database tables\n # ...\n\n # Initialize WaffleConf\n configstore = AlchemyWaffleStore(db=db, model=ConfModel)\n waffle = WaffleConf(app, configstore)\n\n @app.route('/')\n def index():\n \"\"\"Display content of configured variable 'SITENAME'.\"\"\"\n state = current_app.extensions['waffleconf']\n\n parsed = state.parse_conf()\n # {'MAX_FILESIZE': 1000, 'SITENAME': 'Waffle'}\n\n return parsed['SITENAME']\n\nMultiprocess deployments\n========================\n\nSince **version 0.2.0**, multiprocess deployments are supported. Check\n`the\ndocumentation `__\nfor more information.\n\nDocumentation\n=============\n\nDocumentation is present in the ``docs/`` directory and also online at\nhttps://flask-waffleconf.readthedocs.org. In order to build the\ndocumentation from source (you will need Sphinx), run the following\ncommand in the ``docs/`` directory:\n\n.. code:: shell\n\n $ make html\n\n.. |PyPI version| image:: https://img.shields.io/pypi/v/Flask-WaffleConf.svg\n :target: https://pypi.python.org/pypi/Flask-WaffleConf", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rmed/flask-waffleconf", "keywords": null, "license": "GPLv2+", "maintainer": null, "maintainer_email": null, "name": "Flask-WaffleConf", "package_url": "https://pypi.org/project/Flask-WaffleConf/", "platform": "any", "project_url": "https://pypi.org/project/Flask-WaffleConf/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/rmed/flask-waffleconf" }, "release_url": "https://pypi.org/project/Flask-WaffleConf/0.3.1/", "requires_dist": null, "requires_python": null, "summary": "Store variables in database and update them at runtime", "version": "0.3.1" }, "last_serial": 2174858, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "d28854ddd7d727ce8b4e650adf0ba4e9", "sha256": "f0a5af2e57d4feccb4973de97139649308709349435301fae4671043c765673b" }, "downloads": -1, "filename": "Flask_WaffleConf-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d28854ddd7d727ce8b4e650adf0ba4e9", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12291, "upload_time": "2015-08-19T12:04:32", "url": "https://files.pythonhosted.org/packages/27/cf/40a6b715b592677dc55fa4ae736fd337d2d2612598f2a4b052c5dbde500a/Flask_WaffleConf-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "df6556bcd8f58ac1772310514e2674da", "sha256": "6ef88bb080896383e1576dc1320f7568ed3a9d687b123672c27c22c9dcb5f594" }, "downloads": -1, "filename": "Flask-WaffleConf-0.1.0.tar.gz", "has_sig": false, "md5_digest": "df6556bcd8f58ac1772310514e2674da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15632, "upload_time": "2015-08-19T12:04:21", "url": "https://files.pythonhosted.org/packages/9f/1c/70d6dceb24dc8048c8cf99eeef06f72f353d5a0d69efef02a1d11f3d2a0e/Flask-WaffleConf-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "33c19c7a5e401c0b0b39f7d9fc798d30", "sha256": "66b5054c4e55fe67d49861dbe0a9cec357bfbe8ba7ba7997008fad7fe0be31f7" }, "downloads": -1, "filename": "Flask_WaffleConf-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "33c19c7a5e401c0b0b39f7d9fc798d30", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13569, "upload_time": "2015-08-25T11:22:52", "url": "https://files.pythonhosted.org/packages/c6/29/bde633a4f17d2457e6a7a6f68a6143a2c7c11b2e7623617f502697ab8665/Flask_WaffleConf-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "189d2526e1d0d8864d6fd45a98f73103", "sha256": "d6d1d2df86f75f9f8b47dcba3a799aa729be2ada64e9bd2375c4fd7e2845dc4a" }, "downloads": -1, "filename": "Flask-WaffleConf-0.2.0.tar.gz", "has_sig": false, "md5_digest": "189d2526e1d0d8864d6fd45a98f73103", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18573, "upload_time": "2015-08-25T11:22:35", "url": "https://files.pythonhosted.org/packages/e6/36/786fb4408f2781ba13f06ab04d8f9dd5ef8ca64aea28ac1cc5b5d20aba84/Flask-WaffleConf-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "9ee354008bcfc67d7377b42ca51a45b3", "sha256": "5b7d1b22a4b249fa657ea70a00ed470131844a6246a8eacfaffaf41fb9f84196" }, "downloads": -1, "filename": "Flask_WaffleConf-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9ee354008bcfc67d7377b42ca51a45b3", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 21772, "upload_time": "2016-05-14T12:09:19", "url": "https://files.pythonhosted.org/packages/39/e9/0a480140a19d2086bb897b488d11c52d2881a0ba5879b519b8487feb3c71/Flask_WaffleConf-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "76c8e414b09bb17e061ae73882da9710", "sha256": "656c23b295e8c359a3cddde5b3e116ecbec5ad7484e89c48da9bdf7e7fe1ad8e" }, "downloads": -1, "filename": "Flask-WaffleConf-0.3.0.tar.gz", "has_sig": false, "md5_digest": "76c8e414b09bb17e061ae73882da9710", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22926, "upload_time": "2016-05-14T12:07:59", "url": "https://files.pythonhosted.org/packages/a9/18/a90b7455f79219f21f6bbbf6972b4ef688c88e5a2b3f7eda6f5218d4ffa5/Flask-WaffleConf-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "598b9af0d04efef62474eac84e8b2e29", "sha256": "ee4f1fc5edf75f8a2639eb15e6f6ae135e1a0cd58b028b65d08fab13b4a29a1d" }, "downloads": -1, "filename": "Flask_WaffleConf-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "598b9af0d04efef62474eac84e8b2e29", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 21810, "upload_time": "2016-06-18T14:40:39", "url": "https://files.pythonhosted.org/packages/0e/5e/b1e5cce48c16071579e269438d6a3c6c4a7859b9b6e69627f0cf455f93ad/Flask_WaffleConf-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d9a4c2006b15188b29c46387a50e6e5b", "sha256": "d318b9462efa7dec7824bf8bf1336d590085d3dee1e7aa15023e00cdbd718090" }, "downloads": -1, "filename": "Flask-WaffleConf-0.3.1.tar.gz", "has_sig": false, "md5_digest": "d9a4c2006b15188b29c46387a50e6e5b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23038, "upload_time": "2016-06-18T14:40:34", "url": "https://files.pythonhosted.org/packages/9e/6a/1386676d61c6687d1974d174184279cced3a7da1dcfc687592af78dc1eaf/Flask-WaffleConf-0.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "598b9af0d04efef62474eac84e8b2e29", "sha256": "ee4f1fc5edf75f8a2639eb15e6f6ae135e1a0cd58b028b65d08fab13b4a29a1d" }, "downloads": -1, "filename": "Flask_WaffleConf-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "598b9af0d04efef62474eac84e8b2e29", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 21810, "upload_time": "2016-06-18T14:40:39", "url": "https://files.pythonhosted.org/packages/0e/5e/b1e5cce48c16071579e269438d6a3c6c4a7859b9b6e69627f0cf455f93ad/Flask_WaffleConf-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d9a4c2006b15188b29c46387a50e6e5b", "sha256": "d318b9462efa7dec7824bf8bf1336d590085d3dee1e7aa15023e00cdbd718090" }, "downloads": -1, "filename": "Flask-WaffleConf-0.3.1.tar.gz", "has_sig": false, "md5_digest": "d9a4c2006b15188b29c46387a50e6e5b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23038, "upload_time": "2016-06-18T14:40:34", "url": "https://files.pythonhosted.org/packages/9e/6a/1386676d61c6687d1974d174184279cced3a7da1dcfc687592af78dc1eaf/Flask-WaffleConf-0.3.1.tar.gz" } ] }