Flask-Blogging Documentation

Size: px
Start display at page:

Download "Flask-Blogging Documentation"

Transcription

1 Flask-Blogging Documentation Release Gouthaman Balaraman May 25, 2016

2

3 Contents 1 Quick Start Example 3 2 Configuring your Application Adding Custom Markdown Extensions Configuration Variables 7 4 Blog Views 9 5 Permissions 11 6 Screenshots Blog Page Blog Editor Useful Tips 15 8 Release Notes 17 9 Compatibility Notes API Documentation Module contents Submodules flask_blogging.engine module flask_blogging.processor module flask_blogging.sqlastorage module flask_blogging.storage module flask_blogging.views module flask_blogging.forms module flask_blogging.signals module Contributors 31 Python Module Index 33 i

4 ii

5 Flask-Blogging is a Flask extension for adding Markdown based blog support to your site. It provides a flexible mechanism to store the data in the database of your choice. It is meant to work with the authentication provided by packages such as Flask-Login or Flask-Security. The philosophy behind this extension is to provide a lean app based on Markdown to provide blog support to your existing web application. This is contrary to some other packages such as Flask-Blog that are just blogs. If you already have a web app and you need to have a blog to communicate with your user or to promote your site through content based marketing, then Flask-Blogging would help you quickly get a blog up and running. Out of the box, Flask-Blogging has support for the following: Bootstrap based site Markdown based blog editor Models to store blog Authentication of User s choice Sitemap, ATOM support Disqus support for comments Google analytics for usage tracking Permissions enabled to control which users can create/edit blogs Integrated Flask-Cache based caching for optimization Well documented, tested, and extensible design Quick Start Example Configuring your Application Adding Custom Markdown Extensions Configuration Variables Blog Views Permissions Screenshots Blog Page Blog Editor Useful Tips Release Notes Compatibility Notes API Documentation Module contents Submodules flask_blogging.engine module flask_blogging.processor module flask_blogging.sqlastorage module flask_blogging.storage module flask_blogging.views module flask_blogging.forms module flask_blogging.signals module Contributors Contents 1

6 2 Contents

7 CHAPTER 1 Quick Start Example from flask import Flask, render_template_string, redirect from sqlalchemy import create_engine, MetaData from flask.ext.login import UserMixin, LoginManager, \ login_user, logout_user from flask.ext.blogging import SQLAStorage, BloggingEngine app = Flask( name ) app.config["secret_key"] = "secret" # for WTF-forms and login app.config["blogging_url_prefix"] = "/blog" app.config["blogging_disqus_sitename"] = "test" app.config["blogging_siteurl"] = " # extensions engine = create_engine('sqlite:////tmp/blog.db') meta = MetaData() sql_storage = SQLAStorage(engine, metadata=meta) blog_engine = BloggingEngine(app, sql_storage) login_manager = LoginManager(app) meta.create_all(bind=engine) # user class for providing authentication class User(UserMixin): def init (self, user_id): self.id = user_id def get_name(self): return "Paul Dirac" # typically the def load_user(user_id): return User(user_id) index_template = """ <!DOCTYPE html> <html> <head> </head> <body> {% if current_user.is_authenticated %} <a href="/logout/">logout</a> {% else %} <a href="/login/">login</a> {% endif %} 3

8 &nbsp&nbsp<a href="/blog/">blog</a> &nbsp&nbsp<a href="/blog/sitemap.xml">sitemap</a> &nbsp&nbsp<a href="/blog/feeds/all.atom.xml">atom</a> </body> </html> def index(): return def login(): user = User("testuser") login_user(user) return def logout(): logout_user() return redirect("/") if name == " main ": app.run(debug=true, port=8000, use_reloader=true) The key components required to get the blog hooked is explained below. Please note that as of Flask-Login the is_authenticated attribute in the UserMixin is a property and not a method. Please use the appropriate option based on your Flask-Login version. 4 Chapter 1. Quick Start Example

9 CHAPTER 2 Configuring your Application The BloggingEngine class is the gateway to configure blogging support to your web app. You should create the BloggingEngine instance like this: blogging_engine = BloggingEngine() blogging_engine.init_app(app, storage) You also need to pick the storage for blog. That can be done as: from sqlalchemy import create_engine, MetaData engine = create_engine("sqlite:////tmp/sqlite.db") meta = MetaData() storage = SQLAStorage(engine, metadata=meta) meta.create_all(bind=engine) Here we have created the storage, and created all the tables in the metadata. Once you have created the blogging engine, storage, and all the tables in the storage, you can connect with your app using the init_app method as shown below: blogging_engine.init_app(app, storage) If you are using Flask-Sqlalchemy, you can do the following: from flask.ext.sqlalchemy import SQLAlchemy db = SQLAlchemy(app) storage = SQLAStorage(db=db) db.create_all() One of the changes in version is the ability for the user to provide the metadata object. This has the benefit of the table creation being passed to the user. Also, this gives the user the ability to use the common metadata object, and hence helps with the tables showing up in migrations while using Alembic. As of version 0.5.2, support for the multi database scenario under Flask-SQLAlchemy was added. When we have a multiple database scenario, one can use the bind keyword in SQLAStorage to specify the database to bind to, as shown below: # config value SQLALCHEMY_BINDS = { 'blog': "sqlite:////tmp/blog.db"), 'security': "sqlite:////tmp/security.db") } The storage can be initialised as: 5

10 db = SQLAlchemy(app) storage = SQLAStorage(db=db, bind="blog") db.create_all() As of version 0.4.0, Flask-Cache integration is supported. In order to use caching in the blogging engine, you need to pass the Cache instance to the BloggingEngine as: from flask.ext.cache import Cache from flask.ext.blogging import BloggingEngine blogging_engine = BloggingEngine(app, storage, cache) Flask-Blogging lets the developer pick the authentication that is suitable, and hence requires her to provide a way to load user information. You will need to provide a BloggingEngine.user_loader callback. This callback is used to load the user from the user_id that is stored for each blog post. Just as in Flask-Login, it should take the unicode user_id of a user, and return the corresponding user object. For def load_user(userid): return User.get(userid) For the blog to have a readable display name, the User class must implement either the get_name method or the str method. The BloggingEngine accepts an optional extensions argument. This is a list of Markdown extensions objects to be used during the markdown processing step. As of version 0.6.0, a plugin interface is available to add new functionality. Custom processes can be added to the posts by subscribing to the post_process_before and post_process_after signals, and adding new functionality to it. The BloggingEngine also accepts post_processor argument, which can be used to provide a custom post processor object to handle the processing of Markdown text. One way to do this would be to inherit the default PostProcessor object and override process method. In version and onwards, the BloggingEngine object can be accessed from your app as follows: engine = app.extensions["blogging"] The engine method also exposes a get_posts method to get the recent posts for display of posts in other views. In earlier versions the same can be done using the key FLASK_BLOGGING_ENGINE instead of blogging. The use of FLASK_BLOGGING_ENGINE key will be deprecated moving forward. 2.1 Adding Custom Markdown Extensions One can provide additional MarkDown extensions to the blogging engine. One example usage is adding the codehilite MarkDown extension. Additional extensions should be passed as a list while initializing the BlogggingEngine as shown: from markdown.extensions.codehilite import CodeHiliteExtension extn1 = CodeHiliteExtension({}) blogging_engine = BloggingEngine(app, storage,extensions=[extn1]) This allows for the MarkDown to be processed using CodeHilite along with the default extensions. Please note that one would also need to include necessary static files in the view, such as for code highlighting to work. 6 Chapter 2. Configuring your Application

11 CHAPTER 3 Configuration Variables The Flask-Blogging extension can be configured by setting the following app config variables. These arguments are passed to all the views. The keys that are currently supported include: BLOGGING_SITENAME (str): The name of the blog to be used as the brand name.this is also used in the feed heading. (default Flask-Blogging ) BLOGGING_SITEURL (str): The url of the site. BLOGGING_RENDER_TEXT (bool): Value to specify if the raw text should be rendered or not. (default True) BLOGGING_DISQUS_SITENAME (str): Disqus sitename for comments. A None value will disable comments. (default None) BLOGGING_GOOGLE_ANALYTICS (str): Google analytics code for usage tracking. A None value will disable google analytics. (default None) BLOGGING_URL_PREFIX (str) : The prefix for the URL of blog posts. A None value will have no prefix (default None). BLOGGING_FEED_LIMIT (int): The number of posts to limit to in the feed. If None, then all are shown, else will be limited to this number. (default None) BLOGGING_PERMISSIONS (bool): if True, this will enable permissions for the blogging engine. With permissions enabled, the user will need to have blogger Role to edit or create blog posts. Other authenticated users will not have blog editing permissions. The concepts here derive from Flask-Principal (default False) BLOGGING_POSTS_PER_PAGE (int): This sets the default number of pages to be displayed per page. (default 10) BLOGGING_CACHE_TIMEOUT (int): The timeout in seconds used to cache the blog pages. (default 60) BLOGGING_PLUGINS (list): A list of plugins to register. 7

12 8 Chapter 3. Configuration Variables

13 CHAPTER 4 Blog Views There are various views that are exposed through Flask-Blogging. The URL for the various views are: url_for( blogging.index ) (GET): The index blog posts with the first page of articles. url_for( blogging.page_by_id, post_id=<post_id>) (GET): The blog post corresponding to the post_id is retrieved. url_for( blogging.posts_by_tag, tag=<tag_name>) (GET): The list of blog posts corresponding to tag_name is returned. url_for( blogging.posts_by_author, user_id=<user_id>) (GET): The list of blog posts written by the author user_id is returned. url_for( blogging.editor ) (GET, POST): The blog editor is shown. This view needs authentication and permissions (if enabled). url_for( blogging.delete, post_id=<post_id>) (POST): The blog post given by post_id is deleted. This view needs authentication and permissions (if enabled). url_for( blogging.sitemap ) (GET): The sitemap with a link to all the posts is returned. url_for( blogging.feed ) (GET): Returns ATOM feed URL. The view can be easily customised by the user by overriding with their own templates. The template pages that need to be customized are: blogging/index.html: The blog index page used to serve index of posts, posts by tag, and posts by author blogging/editor.html: The blog editor page. blogging/page.html: The page that shows the given article. blogging/sitemap.xml: The sitemap for the blog posts. 9

14 10 Chapter 4. Blog Views

15 CHAPTER 5 Permissions In version Flask-Blogging, enables permissions based on Flask-Principal. This addresses the issue of controlling which of the authenticated users can have access to edit or create blog posts. Permissions are enabled by setting BLOGGING_PERMISSIONS to True. Only users that have access to Role blogger will have permissions to create or edit blog posts. 11

16 12 Chapter 5. Permissions

17 13

18 CHAPTER 6 Screenshots 6.1 Blog Page 6.2 Blog Editor 14 Chapter 6. Screenshots

19 CHAPTER 7 Useful Tips Migrations with Alembic: (Applies to versions and earlier) If you have migrations part of your project using Alembic, or extensions such as Flask-Migrate which uses Alembic, then you have to modify the Alembic configuration in order for it to ignore the Flask-Blogging related tables. If you don t set these modifications, then every time you run migrations, Alembic will not recognize the tables and mark them for deletion. And if you happen to upgrade by mistake then all your blog tables will be deleted. What we will do here is ask Alembic to exclude the tables used by Flask-Blogging. In your alembic.ini file, add a line: [alembic:exclude] tables = tag, post, tag_posts, user_posts If you have a value set for table_prefix argument while creating the SQLAStorage, then the table names will contain that prefix in their names. In which case, you have to use appropriate names in the table names. And in your env.py, we have to mark these tables as the ones to be ignored. def exclude_tables_from_config(config_): tables_ = config_.get("tables", None) if tables_ is not None: tables = tables_.split(",") return tables exclude_tables = exclude_tables_from_config(config.get_section('alembic:exclude')) def include_object(object, name, type_, reflected, compare_to): if type_ == "table" and name in exclude_tables: return False else: return True def run_migrations_online(): """Run migrations in 'online' mode. In this scenario we need to create an Engine and associate a connection with the context. """ engine = engine_from_config( config.get_section(config.config_ini_section), prefix='sqlalchemy.', poolclass=pool.nullpool) connection = engine.connect() 15

20 context.configure( connection=connection, target_metadata=target_metadata, include_object=include_object, compare_type=true ) try: with context.begin_transaction(): context.run_migrations() finally: connection.close() In the above, we are using include_object in context.configure(...) to be specified based on the include_object function. 16 Chapter 7. Useful Tips

21 CHAPTER 8 Release Notes Version *Released January 14, 2015 The plugin framework for Flask-Blogging to allow users to add new features and capabilities. Version Released January 12, 2016 Added support for multiple binds for SQLAStorage Version Released December 6, 2015 Fixed the flexibility to add custom extensions to BloggingEngine. Version Released November 23, 2015 Fixed errors encountered while using Postgres database Version Released September 20, 2015 Added compatibility with Flask-Login version and higher, especially to handle migration of is_autheticated attribute from method to property. (#43) Version Released September 16, 2015 Added javascript to center images in blog page Added method in blogging engine to render post and fetch post. Version Released July 26, 2015 Integrated Flask-Cache to optimize blog page rendering Fixed a bug where anonymous user was shown the new blog button Version 0.3.2: Released July 20, 2015 Fixed a bug in the edit post routines. The edited post would end up as a new one instead. 17

22 Version 0.3.1: Released July 17, 2015 The SQLAStorage accepts metadata, and SQLAlchemy object as inputs. This adds the ability to keep the blogging table metadata synced up with other models. This feature adds compatibility with Alembic autogenerate. Update docs to reflect the correct version number. Version 0.3.0: Released July 11, 2015 Permissions is a new feature introduced in this version. By setting BLOGGING_PERMISSIONS to True, one can restrict which of the users can create, edit or delete posts. Added BLOGGING_POSTS_PER_PAGE configuration variable to control the number of posts in a page. Documented the url construction procedure. Version 0.2.1: Released July 10, 2015 BloggingEngine init_app method can be called without having to pass a storage object. Hook tests to setup.py script. Version 0.2.0: Released July 6, 2015 BloggingEngine configuration moved to the app config setting. This breaks backward compatibility. See compatibility notes below. Added ability to limit number of posts shown in the feed through app configuration setting. The setup.py reads version from the module file. Improves version consistency. Version 0.1.2: Released July 4, 2015 Added Python 3.4 support Version 0.1.1: Released June 15, 2015 Fixed PEP8 errors Expanded SQLAStorage to include Postgres and MySQL flavors Added post_date and last_modified_date as arguments to the Storage.save_post(...) call for general compatibility Version 0.1.0: Released June 1, 2015 Initial Release Adds detailed documentation Supports Markdown based blog editor Has 90% code coverage in unit tests 18 Chapter 8. Release Notes

23 CHAPTER 9 Compatibility Notes Version 0.4.1: The documented way to get the blogging engine from app is using the key blogging from app.extensions. Version 0.3.1: The SQLAStorage will accept metadata and set it internally. The database tables will not be created automatically. The user would need to invoke create_all in the metadata or SQLAlchemy object in Flask-SQLAlchemy. Version 0.3.0: In this release, the templates folder was renamed from blog to blogging. To override the existing templates, you will need to create your templates in the blogging folder. The blueprint name was renamed from blog_api to blogging. Version 0.2.0: In this version, BloggingEngine will no longer take config argument. Instead, all configuration can be done through app config variables. Another BloggingEngine parameter, url_prefix is also available only through config variable. 19

24 20 Chapter 9. Compatibility Notes

25 CHAPTER 10 API Documentation 10.1 Module contents 10.2 Submodules 10.3 flask_blogging.engine module The BloggingEngine module. class flask_blogging.engine.bloggingengine(app=none, post_processor=none, cache=none) Bases: object storage=none, extensions=none, The BloggingEngine is the class for initializing the blog support for your web app. Here is an example usage: from flask import Flask from flask.ext.blogging import BloggingEngine, SQLAStorage from sqlalchemy import create_engine app = Flask( name ) db_engine = create_engine("sqlite:////tmp/sqlite.db") meta = MetaData() storage = SQLAStorage(db_engine, metadata=meta) blog_engine = BloggingEngine(app, storage) init (app=none, storage=none, post_processor=none, extensions=none, cache=none) Returns app (object) Optional app to use storage (object) The blog storage instance that implements the Storage class interface. post_processor (object) (optional) The post processor object. If none provided, the default post processor is used. extensions (list) (optional) A list of markdown extensions to add to post processing step. cache (Object) (Optional) A Flask-Cache object to enable caching 21

26 blogger_permission get_posts(count=10, offset=0, recent=true, tag=none, user_id=none, include_draft=false, render=false) classmethod get_user_name(user) init_app(app, storage=none, cache=none) Initialize the engine. is_user_blogger() app (Object) The app to use storage (Object) The blog storage instance that implements the cache (Object Storage class interface.) (Optional) A Flask-Cache object to enable caching process_post(post, render=true) A high level view to create post processing. :param post: Dictionary representing the post :type post: dict :param render: Choice if the markdown text has to be converted or not :type render: bool :return: user_loader(callback) The decorator for loading the user. callback The callback function that can load a user given a unicode user_id. Returns The callback function 10.4 flask_blogging.processor module class flask_blogging.processor.postprocessor Bases: object classmethod all_extensions() classmethod construct_url(post) static create_slug(title) classmethod is_author(post, user) classmethod process(post, render=true) This method takes the post data and renders it :param post: :param render: :return: classmethod render_text(post) classmethod set_custom_extensions(extensions) 10.5 flask_blogging.sqlastorage module class flask_blogging.sqlastorage.sqlastorage(engine=none, table_prefix=, metadata=none, db=none, bind=none) Bases: flask_blogging.storage.storage The SQLAStorage implements the interface specified by the Storage class. This class uses SQLAlchemy to implement storage and retrieval of data from any of the databases supported by SQLAlchemy. 22 Chapter 10. API Documentation

27 init (engine=none, table_prefix=, metadata=none, db=none, bind=none) The constructor for the SQLAStorage class. engine The SQLAlchemy engine instance created by calling create_engine. One can also use Flask-SQLAlchemy, and pass the engine property. :type engine: object :param table_prefix: (Optional) Prefix to use for the tables created (default ""). metadata (object) (Optional) The SQLAlchemy MetaData object db (object) (Optional) The Flask-SQLAlchemy SQLAlchemy object bind (Optional) Reference the database to bind for multiple database scenario with binds :type bind: str count_posts(tag=none, user_id=none, include_draft=false) Returns the total number of posts for the give filter tag (str) Filter by a specific tag user_id (str) Filter by a specific user include_draft (bool) Whether to include posts marked as draft or not Returns The number of posts for the given filter. delete_post(post_id) Delete the post defined by post_id engine post_id (int) The identifier corresponding to a post Returns Returns True if the post was successfully deleted and False otherwise. get_post_by_id(post_id) Fetch the blog post given by post_id post_id (int) The post identifier for the blog post Returns If the post_id is valid, the post data is retrieved, else returns None. get_posts(count=10, offset=0, recent=true, tag=none, user_id=none, include_draft=false) Get posts given by filter criteria count (int) The number of posts to retrieve (default 10) offset (int) The number of posts to offset (default 0) recent (bool) Order by recent posts or not tag (str) Filter by a specific tag user_id (str) Filter by a specific user include_draft (bool) Whether to include posts marked as draft or not Returns A list of posts, with each element a dict containing values for the following keys: (title, text, draft, post_date, last_modified_date). If count is None, then all the posts are returned flask_blogging.sqlastorage module 23

28 metadata post_table save_post(title, text, user_id, tags, draft=false, post_date=none, last_modified_date=none, meta_data=none, post_id=none) Persist the blog post data. If post_id is None or post_id is invalid, the post must be inserted into the storage. If post_id is a valid id, then the data must be updated. title (str) The title of the blog post text (str) The text of the blog post user_id (str) The user identifier tags (list) A list of tags draft (bool) (Optional) If the post is a draft of if needs to be published. (default False) post_date (datetime.datetime) (Optional) The date the blog was posted (default datetime.datetime.utcnow() ) last_modified_date (datetime.datetime) (Optional) The date when blog was last modified (default datetime.datetime.utcnow() ) post_id (int) (Optional) The post identifier. This should be None for an insert call, and a valid value for update. (default None) Returns The post_id value, in case of a successful insert or update. Return None if there were errors. tag_posts_table tag_table user_posts_table 10.6 flask_blogging.storage module class flask_blogging.storage.storage Bases: object count_posts(tag=none, user_id=none, include_draft=false) Returns the total number of posts for the give filter tag (str) Filter by a specific tag user_id (str) Filter by a specific user include_draft (bool) Whether to include posts marked as draft or not Returns The number of posts for the given filter. delete_post(post_id) Delete the post defined by post_id post_id (int) The identifier corresponding to a post Returns Returns True if the post was successfully deleted and False otherwise. 24 Chapter 10. API Documentation

29 get_post_by_id(post_id) Fetch the blog post given by post_id post_id (int) The post identifier for the blog post Returns If the post_id is valid, the post data is retrieved, else returns None. get_posts(count=10, offset=0, recent=true, tag=none, user_id=none, include_draft=false) Get posts given by filter criteria count (int) The number of posts to retrieve (default 10). If count is None, all posts are returned. offset (int) The number of posts to offset (default 0) recent (bool) Order by recent posts or not tag (str) Filter by a specific tag user_id (str) Filter by a specific user include_draft (bool) Whether to include posts marked as draft or not Returns A list of posts, with each element a dict containing values for the following keys: (title, text, draft, post_date, last_modified_date). If count is None, then all the posts are returned. static normalize_tags(tags) save_post(title, text, user_id, tags, draft=false, post_date=none, last_modified_date=none, meta_data=none, post_id=none) Persist the blog post data. If post_id is None or post_id is invalid, the post must be inserted into the storage. If post_id is a valid id, then the data must be updated. title (str) The title of the blog post text (str) The text of the blog post user_id (str) The user identifier tags (list) A list of tags draft (bool) If the post is a draft of if needs to be published. post_date (datetime.datetime) (Optional) The date the blog was posted (default datetime.datetime.utcnow()) last_modified_date (datetime.datetime) (Optional) The date when blog was last modified (default datetime.datetime.utcnow()) meta_data (dict) The meta data for the blog post post_id (int) The post identifier. This should be None for an insert call, and a valid value for update. Returns The post_id value, in case of a successful insert or update. Return None if there were errors flask_blogging.storage module 25

30 10.7 flask_blogging.views module flask_blogging.views.cached_func(blogging_engine, func) flask_blogging.views.create_blueprint(import_name, blogging_engine) flask_blogging.views.delete(*args, **kwargs) flask_blogging.views.editor(*args, **kwargs) flask_blogging.views.feed() flask_blogging.views.index(count, page) Serves the page with a list of blog posts Returns count offset flask_blogging.views.page_by_id(post_id, slug) flask_blogging.views.posts_by_author(user_id, count, page) flask_blogging.views.posts_by_tag(tag, count, page) flask_blogging.views.sitemap() flask_blogging.views.unless(blogging_engine) 10.8 flask_blogging.forms module class flask_blogging.forms.blogeditor(formdata=<class flask_wtf.form._auto>, obj=none, prefix=, csrf_context=none, secret_key=none, csrf_enabled=none, *args, **kwargs) draft = <UnboundField(BooleanField, ( draft,), { default : False})> submit = <UnboundField(SubmitField, ( submit,), {})> tags = <UnboundField(StringField, ( tags,), { validators : [<wtforms.validators.datarequired object at 0x7f785d73d150 text = <UnboundField(TextAreaField, ( text,), { validators : [<wtforms.validators.datarequired object at 0x7f785d73d0 title = <UnboundField(StringField, ( title,), { validators : [<wtforms.validators.datarequired object at 0x7f785d73d flask_blogging.signals module The flask_blogging signals module flask_blogging.signals = <module flask_blogging.signals from /home/docs/checkouts/readthedocs.org/user_builds/flas The flask_blogging signals module flask_blogging.signals.engine_initialised = <blinker.base.namedsignal object at 0x7f785e607250; engine_initi Signal send by the BloggingEngine after the object is initialized. The arguments passed by the signal are: 26 Chapter 10. API Documentation

31 app (object) The Flask app which is the sender engine (object) The blogging engine that was initialized flask_blogging.signals.post_processed = <blinker.base.namedsignal object at 0x7f785e607290; post_processed > Signal sent when a post is processed (i.e., the markdown is converted to html text). The arguments passed along with this signal are: app (object) The Flask app which is the sender engine (object) The blogging engine that was initialized post (dict) The post object which was processed render (bool) Flag to denote if the post is to be rendered or not flask_blogging.signals.page_by_id_fetched = <blinker.base.namedsignal object at 0x7f785e6072d0; page_by_id_ Signal sent when a blog page specified by id is fetched, and prior to the post being processed. app (object) The Flask app which is the sender engine (object) The blogging engine that was initialized post (dict) The post object which was fetched meta (dict) The metadata associated with that page post_id (int) The identifier of the post slug (str) The slug associated with the page flask_blogging.signals.page_by_id_processed = <blinker.base.namedsignal object at 0x7f785e607310; page_by_ Signal sent when a blog page specified by id is fetched, and prior to the post being processed. app (object) The Flask app which is the sender engine (object) The blogging engine that was initialized post (dict) The post object which was processed meta (dict) The metadata associated with that page post_id (int) The identifier of the post slug (str) The slug associated with the page flask_blogging.signals.posts_by_tag_fetched = <blinker.base.namedsignal object at 0x7f785e607350; posts_by_ Signal sent when posts are fetched for a given tag but before processing app (object) The Flask app which is the sender engine (object) The blogging engine that was initialized posts (list) Lists of post fetched with a given tag meta (dict) The metadata associated with that page tag (str) The tag that is requested count (int) The number of posts per page page (int) The page offset flask_blogging.signals module 27

32 flask_blogging.signals.posts_by_tag_processed = <blinker.base.namedsignal object at 0x7f785e607390; posts_ Signal sent after posts for a given tag were fetched and processed app (object) The Flask app which is the sender engine (object) The blogging engine that was initialized posts (list) Lists of post fetched and processed with a given tag meta (dict) The metadata associated with that page tag (str) The tag that is requested count (int) The number of posts per page page (int) The page offset flask_blogging.signals.posts_by_author_fetched = <blinker.base.namedsignal object at 0x7f785e6073d0; posts Signal sent after posts by an author were fetched but before processing app (object) The Flask app which is the sender engine (object) The blogging engine that was initialized posts (list) Lists of post fetched with a given author meta (dict) The metadata associated with that page user_id (str) The user_id for the author count (int) The number of posts per page page (int) The page offset flask_blogging.signals.posts_by_author_processed = <blinker.base.namedsignal object at 0x7f785e607410; po Signal sent after posts by an author were fetched and processed app (object) The Flask app which is the sender engine (object) The blogging engine that was initialized posts (list) Lists of post fetched and processed with a given author meta (dict) The metadata associated with that page user_id (str) The user_id for the author count (int) The number of posts per page page (int) The page offset flask_blogging.signals.index_posts_fetched = <blinker.base.namedsignal object at 0x7f785e607450; index_post Signal sent after the posts for the index page are fetched app (object) The Flask app which is the sender engine (object) The blogging engine that was initialized posts (list) Lists of post fetched for the index page meta (dict) The metadata associated with that page 28 Chapter 10. API Documentation

33 count (int) The number of posts per page page (int) The page offset flask_blogging.signals.index_posts_processed = <blinker.base.namedsignal object at 0x7f785e607490; index_p Signal sent after the posts for the index page are fetched and processed app (object) The Flask app which is the sender engine (object) The blogging engine that was initialized posts (list) Lists of post fetched and processed with a given author meta (dict) The metadata associated with that page count (int) The number of posts per page page (int) The page offset flask_blogging.signals.feed_posts_fetched = <blinker.base.namedsignal object at 0x7f785e6074d0; feed_posts_ Signal send after feed posts are fetched app (object) The Flask app which is the sender engine (object) The blogging engine that was initialized posts (list) Lists of post fetched and processed with a given author flask_blogging.signals.feed_posts_processed = <blinker.base.namedsignal object at 0x7f785e607510; feed_post Signal send after feed posts are processed app (object) The Flask app which is the sender engine (object) The blogging engine that was initialized feed (list) Feed of post fetched and processed flask_blogging.signals.sitemap_posts_fetched = <blinker.base.namedsignal object at 0x7f785e607550; sitemap Signal send after posts are fetched app (object) The Flask app which is the sender engine (object) The blogging engine that was initialized posts (list) Lists of post fetched and processed with a given author flask_blogging.signals.sitemap_posts_processed = <blinker.base.namedsignal object at 0x7f785e607590; sitem Signal send after posts are fetched and processed app (object) The Flask app which is the sender engine (object) The blogging engine that was initialized posts (list) Lists of post fetched and processed with a given author flask_blogging.signals.editor_post_saved = <blinker.base.namedsignal object at 0x7f785e6075d0; editor_post_s Signal sent after a post was saved during the POST request flask_blogging.signals module 29

34 app (object) The Flask app which is the sender engine (object) The blogging engine that was initialized post_id (int) The id of the post that was deleted user (object) The user object post (object) The post that was deleted flask_blogging.signals.editor_get_fetched = <blinker.base.namedsignal object at 0x7f785e607610; editor_get_f Signal sent after fetching the post during the GET request app (object) The Flask app which is the sender engine (object) The blogging engine that was initialized post_id (int) The id of the post that was deleted form (object) The form prepared for the editor display flask_blogging.signals.post_deleted = <blinker.base.namedsignal object at 0x7f785e607650; post_deleted > The signal sent after the post is deleted. app (object) The Flask app which is the sender engine (object) The blogging engine that was initialized post_id (int) The id of the post that was deleted post (object) The post that was deleted flask_blogging.signals.blueprint_created = <blinker.base.namedsignal object at 0x7f785e607690; blueprint_cre The signal sent after the blueprint is created. A good time to add other views to the blueprint. app (object) The Flask app which is the sender engine (object) The blogging engine that was initialized blueprint (object) The blog app blueprint flask_blogging.signals.sqla_initialized = <blinker.base.namedsignal object at 0x7f785e6076d0; sqla_initialized Signal sent after the SQLAStorage object is initialized sqlastorage (object) The SQLAStorage object engine (object) The blogging engine that was initialized table_prefix (str) The prefix to use for tables meta (object) The metadata for the database bind (object) The bind value in the multiple db scenario. 30 Chapter 10. API Documentation

35 CHAPTER 11 Contributors Gouthaman Balaraman adilosa 31

36 32 Chapter 11. Contributors

37 Python Module Index f flask_blogging, 21 flask_blogging.engine, 21 flask_blogging.forms, 26 flask_blogging.signals, 26 flask_blogging.sqlastorage, 22 flask_blogging.storage, 24 flask_blogging.views, 26 33

38 34 Python Module Index

39 Index Symbols init () (flask_blogging.engine.bloggingengine method), 21 init () (flask_blogging.sqlastorage.sqlastorage method), 22 A all_extensions() (flask_blogging.processor.postprocessor class method), 22 B BlogEditor (class in flask_blogging.forms), 26 blogger_permission (flask_blogging.engine.bloggingengine attribute), 21 BloggingEngine (class in flask_blogging.engine), 21 blueprint_created (in module flask_blogging.signals), 30 C cached_func() (in module flask_blogging.views), 26 construct_url() (flask_blogging.processor.postprocessor class method), 22 count_posts() (flask_blogging.sqlastorage.sqlastorage method), 23 count_posts() (flask_blogging.storage.storage method), 24 create_blueprint() (in module flask_blogging.views), 26 create_slug() (flask_blogging.processor.postprocessor static method), 22 D delete() (in module flask_blogging.views), 26 delete_post() (flask_blogging.sqlastorage.sqlastorage method), 23 delete_post() (flask_blogging.storage.storage method), 24 draft (flask_blogging.forms.blogeditor attribute), 26 E editor() (in module flask_blogging.views), 26 editor_get_fetched (in module flask_blogging.signals), 30 editor_post_saved (in module flask_blogging.signals), 29 engine (flask_blogging.sqlastorage.sqlastorage attribute), 23 engine_initialised (in module flask_blogging.signals), 26 F feed() (in module flask_blogging.views), 26 feed_posts_fetched (in module flask_blogging.signals), 29 feed_posts_processed (in module flask_blogging.signals), 29 flask_blogging (module), 21 flask_blogging.engine (module), 21 flask_blogging.forms (module), 26 flask_blogging.signals (module), 26 flask_blogging.sqlastorage (module), 22 flask_blogging.storage (module), 24 flask_blogging.views (module), 26 G get_post_by_id() (flask_blogging.sqlastorage.sqlastorage method), 23 get_post_by_id() (flask_blogging.storage.storage method), 24 get_posts() (flask_blogging.engine.bloggingengine method), 22 get_posts() (flask_blogging.sqlastorage.sqlastorage method), 23 get_posts() (flask_blogging.storage.storage method), 25 get_user_name() (flask_blogging.engine.bloggingengine class method), 22 I index() (in module flask_blogging.views), 26 index_posts_fetched (in module flask_blogging.signals), 28 index_posts_processed (in module flask_blogging.signals), 29 init_app() (flask_blogging.engine.bloggingengine method), 22 35

40 is_author() (flask_blogging.processor.postprocessor class method), 22 is_user_blogger() (flask_blogging.engine.bloggingengine method), 22 M metadata (flask_blogging.sqlastorage.sqlastorage attribute), 23 N normalize_tags() (flask_blogging.storage.storage static method), 25 P page_by_id() (in module flask_blogging.views), 26 page_by_id_fetched (in module flask_blogging.signals), 27 page_by_id_processed (in module flask_blogging.signals), 27 post_deleted (in module flask_blogging.signals), 30 post_processed (in module flask_blogging.signals), 27 post_table (flask_blogging.sqlastorage.sqlastorage attribute), 24 PostProcessor (class in flask_blogging.processor), 22 posts_by_author() (in module flask_blogging.views), 26 posts_by_author_fetched (in module flask_blogging.signals), 28 posts_by_author_processed (in module flask_blogging.signals), 28 posts_by_tag() (in module flask_blogging.views), 26 posts_by_tag_fetched (in module flask_blogging.signals), 27 posts_by_tag_processed (in module flask_blogging.signals), 27 process() (flask_blogging.processor.postprocessor class method), 22 process_post() (flask_blogging.engine.bloggingengine method), 22 R render_text() (flask_blogging.processor.postprocessor class method), 22 S save_post() (flask_blogging.sqlastorage.sqlastorage method), 24 save_post() (flask_blogging.storage.storage method), 25 set_custom_extensions() (flask_blogging.processor.postprocessor class method), 22 signals (in module flask_blogging), 26 sitemap() (in module flask_blogging.views), 26 sitemap_posts_fetched (in module flask_blogging.signals), 29 sitemap_posts_processed (in module flask_blogging.signals), 29 sqla_initialized (in module flask_blogging.signals), 30 SQLAStorage (class in flask_blogging.sqlastorage), 22 Storage (class in flask_blogging.storage), 24 submit (flask_blogging.forms.blogeditor attribute), 26 T tag_posts_table (flask_blogging.sqlastorage.sqlastorage attribute), 24 tag_table (flask_blogging.sqlastorage.sqlastorage attribute), 24 tags (flask_blogging.forms.blogeditor attribute), 26 text (flask_blogging.forms.blogeditor attribute), 26 title (flask_blogging.forms.blogeditor attribute), 26 U unless() (in module flask_blogging.views), 26 user_loader() (flask_blogging.engine.bloggingengine method), 22 user_posts_table (flask_blogging.sqlastorage.sqlastorage attribute), Index

Flask-Blogging Documentation

Flask-Blogging Documentation Flask-Blogging Documentation Release 1.1.0 Gouthaman Balaraman Sep 13, 2018 Contents 1 Quick Start Example 3 2 Configuring your Application 5 2.1 Models from SQLAStorage.......................................

More information

Flask-Migrate Documentation. Miguel Grinberg

Flask-Migrate Documentation. Miguel Grinberg Flask-Migrate Documentation Miguel Grinberg Sep 18, 2018 Contents 1 Installation 3 2 Example 5 3 Using Flask-Script 7 4 Configuration Callbacks 9 5 Multiple Database Support 11 6 Command Reference 13

More information

flask-ldap3-login Documentation

flask-ldap3-login Documentation flask-ldap3-login Documentation Release 0.0.0.dev0 Nick Whyte Nov 09, 2018 Contents 1 Contents: 3 1.1 Configuration............................................... 3 1.2 Quick Start................................................

More information

flask-jwt-simple Documentation

flask-jwt-simple Documentation flask-jwt-simple Documentation Release 0.0.3 vimalloc rlam3 Nov 17, 2018 Contents 1 Installation 3 2 Basic Usage 5 3 Changing JWT Claims 7 4 Changing Default Behaviors 9 5 Configuration Options 11 6 API

More information

Watson - DB. Release 2.7.0

Watson - DB. Release 2.7.0 Watson - DB Release 2.7.0 Jan 15, 2018 Contents 1 Build Status 3 2 Dependencies 5 3 Installation 7 4 Testing 9 5 Contributing 11 6 Table of Contents 13 6.1 Usage...................................................

More information

Flask Web Development Course Catalog

Flask Web Development Course Catalog Flask Web Development Course Catalog Enhance Your Contribution to the Business, Earn Industry-recognized Accreditations, and Develop Skills that Help You Advance in Your Career March 2018 www.iotintercon.com

More information

Building Web Applications

Building Web Applications Building Web Applications Ambient intelligence Fulvio Corno Politecnico di Torino, 2017/2018 Goal Create simple web applications In Python For interactive interfaces For server-side components Learn a

More information

Flask-Sitemap Documentation

Flask-Sitemap Documentation Flask-Sitemap Documentation Release 0.3.0 CERN May 06, 2018 Contents 1 Contents 3 2 Installation 5 2.1 Requirements............................................... 5 3 Usage 7 3.1 Simple Example.............................................

More information

HOW TO FLASK. And a very short intro to web development and databases

HOW TO FLASK. And a very short intro to web development and databases HOW TO FLASK And a very short intro to web development and databases FLASK Flask is a web application framework written in Python. Created by an international Python community called Pocco. Based on 2

More information

Flask-SimpleLDAP Documentation

Flask-SimpleLDAP Documentation Flask-SimpleLDAP Documentation Release 1.1.2 Alexandre Ferland Sep 14, 2017 Contents 1 Quickstart 3 2 Configuration 5 3 API 7 3.1 Classes.................................................. 7 3.2 History..................................................

More information

flask-dynamo Documentation

flask-dynamo Documentation flask-dynamo Documentation Release 0.1.2 Randall Degges January 22, 2018 Contents 1 User s Guide 3 1.1 Quickstart................................................ 3 1.2 Getting Help...............................................

More information

flask-jwt Documentation

flask-jwt Documentation flask-jwt Documentation Release 0.3.2 Dan Jacob Nov 16, 2017 Contents 1 Links 3 2 Installation 5 3 Quickstart 7 4 Configuration Options 9 5 API 11 6 Changelog 13 6.1 Flask-JWT Changelog..........................................

More information

Flask-Caching Documentation

Flask-Caching Documentation Flask-Caching Documentation Release 1.0.0 Thadeus Burgess, Peter Justin Nov 01, 2017 Contents 1 Installation 3 2 Set Up 5 3 Caching View Functions 7 4 Caching Other Functions 9 5 Memoization 11 5.1 Deleting

More information

newauth Documentation

newauth Documentation newauth Documentation Release 0.0.1 adrien-f April 11, 2015 Contents 1 Installation 3 1.1 Dependencies............................................... 3 1.2 Downloading...............................................

More information

GitHub-Flask Documentation

GitHub-Flask Documentation GitHub-Flask Documentation Release 3.2.0 Cenk Altı Jul 01, 2018 Contents 1 Installation 3 2 Configuration 5 3 Authenticating / Authorizing Users 7 4 Invoking Remote Methods 9 5 Full Example 11 6 API Reference

More information

Flask-Twilio Documentation

Flask-Twilio Documentation Flask-Twilio Documentation Release 0.0.6 Leo Singer Mar 02, 2018 Contents 1 Flask-Twilio Installation 1 2 Set Up 3 3 Making a Call 5 4 Sending a Text Message 7 5 Full Example Flask Application 9 6 Configuration

More information

Flask-Cors Documentation

Flask-Cors Documentation Flask-Cors Documentation Release 3.0.4 Cory Dolphin Apr 26, 2018 Contents 1 Installation 3 2 Usage 5 2.1 Simple Usage............................................... 5 3 Documentation 7 4 Troubleshooting

More information

Flask-Genshi Documentation

Flask-Genshi Documentation Flask-Genshi Documentation Release 0.1 Dag Odenhall September 14, 2011 CONTENTS i ii Flask-Genshi Documentation, Release 0.1 Flask-Genshi is an extension to Flask that allows you to easily use Genshi

More information

Bootstrap-Flask Documentation

Bootstrap-Flask Documentation Bootstrap-Flask Documentation Release 1.0.4 Grey Li Nov 14, 2018 Contents 1 Contents 3 1.1 Basic Usage............................................... 3 1.2 Use Macros................................................

More information

ska Documentation Release Artur Barseghyan

ska Documentation Release Artur Barseghyan ska Documentation Release 1.6.7 Artur Barseghyan February 09, 2017 Contents 1 Key concepts 3 2 Features 5 2.1 Core ska module.............................................

More information

Flask-Login Documentation

Flask-Login Documentation Flask-Login Documentation Release 0.4.1 Matthew Frazier Oct 29, 2018 Contents 1 Installation 3 2 Configuring your Application 5 3 How it Works 7 4 Your User Class 9 5 Login Example 11 6 Customizing the

More information

CIS192 Python Programming

CIS192 Python Programming CIS192 Python Programming Web Servers and Web APIs Raymond Yin University of Pennsylvania November 12, 2015 Raymond Yin (University of Pennsylvania) CIS 192 November 12, 2015 1 / 23 Outline 1 Web Servers

More information

CIS192 Python Programming

CIS192 Python Programming CIS192 Python Programming Web Servers and Web APIs Eric Kutschera University of Pennsylvania March 6, 2015 Eric Kutschera (University of Pennsylvania) CIS 192 March 6, 2015 1 / 22 Outline 1 Web Servers

More information

SEVENMENTOR TRAINING PVT.LTD

SEVENMENTOR TRAINING PVT.LTD Digital Marketing Job Guarantee Chapter #1: The Basic Digital Marketing Components & Keyword Research 1. Introduction to Digital Marketing and SEO? 2. Overview to the Course 3. List of top SEO Tools We

More information

USER MANUAL. SEO Hub TABLE OF CONTENTS. Version: 0.1.1

USER MANUAL. SEO Hub TABLE OF CONTENTS. Version: 0.1.1 USER MANUAL TABLE OF CONTENTS Introduction... 1 Benefits of SEO Hub... 1 Installation& Activation... 2 Installation Steps... 2 Extension Activation... 4 How it Works?... 5 Back End Configuration... 5 Points

More information

django-embed-video Documentation

django-embed-video Documentation django-embed-video Documentation Release 1.1.2-stable Juda Kaleta Nov 10, 2017 Contents 1 Installation & Setup 3 1.1 Installation................................................ 3 1.2 Setup...................................................

More information

The Pyramid Web Application Development Framework

The Pyramid Web Application Development Framework The Pyramid Web Application Development Framework www.pylonsproject.org Martin Geisler Dealini July 4th, 2013 1 / 20 Outline Introduction Handling a Request Routes Views Renderers Mako Templates Conclusion

More information

Flask-Misaka Documentation

Flask-Misaka Documentation Flask-Misaka Documentation Release 0.4.1 David Baumgold Mar 15, 2017 Contents 1 Installation 3 2 Usage 5 3 API 7 4 Options 9 Python Module Index 11 i ii Flask-Misaka Documentation, Release 0.4.1 Flask-Misaka

More information

Release Manu Phatak

Release Manu Phatak cache r equestsdocumentation Release 4.0.0 Manu Phatak December 26, 2015 Contents 1 Contents: 1 1.1 cache_requests.............................................. 1 1.2 Installation................................................

More information

micawber Documentation

micawber Documentation micawber Documentation Release 0.3.4 charles leifer Nov 29, 2017 Contents 1 examples 3 2 integration with web frameworks 5 2.1 Installation................................................ 5 2.2 Getting

More information

django-oauth2-provider Documentation

django-oauth2-provider Documentation django-oauth2-provider Documentation Release 0.2.7-dev Alen Mujezinovic Aug 16, 2017 Contents 1 Getting started 3 1.1 Getting started.............................................. 3 2 API 5 2.1 provider.................................................

More information

Release Notes March 2016

Release Notes March 2016 Release Notes March 2016 About the Release Notes... 3 Release Overview... 3 End of Life Announcements... 3 Other Announcements... 5 Enhancements... 6 Doc Launcher for uploading 3 rd party documents and

More information

Connexion Sqlalchemy Utils Documentation

Connexion Sqlalchemy Utils Documentation Connexion Sqlalchemy Utils Documentation Release 0.1.4 Michael Housh Apr 17, 2017 Contents 1 Connexion Sqlalchemy Utils 3 1.1 Features.................................................. 3 1.2 Running example

More information

Flask restful swagger Documentation

Flask restful swagger Documentation Flask restful swagger Documentation Release 1.0.0 Sobolev Nikita January 03, 2017 Contents 1 What is flask-restful-swagger? 3 2 How to: 5 3 Using @marshal_with 9 4 Running and testing 11 5 Passing more

More information

edirectory Change log

edirectory Change log edirectory 11.2.00 Change log Arca Solutions 7138 Little River Turnpike #1825 Annandale, VA 22003 www.arcasolutions.com 1. What s new 1. Sponsors can now add a video to their classifieds ads 2. Sponsors

More information

flask-jwt-extended Documentation

flask-jwt-extended Documentation flask-jwt-extended Documentation Release 3.10.0 vimalloc rlam3 Jun 29, 2018 Contents 1 Installation 1 2 Basic Usage 3 3 Partially protecting routes 5 4 Storing Data in Access Tokens 7 5 Tokens from Complex

More information

Administrator's and Developer's Guide

Administrator's and Developer's Guide Administrator's and Developer's Guide Rev: 23 May 2016 Administrator's and Developer's Guide A Quick Start Guide and Configuration Reference for Administrators and Developers Table of Contents Chapter

More information

f5-icontrol-rest Documentation

f5-icontrol-rest Documentation f5-icontrol-rest Documentation Release 1.3.10 F5 Networks Aug 04, 2018 Contents 1 Overview 1 2 Installation 3 2.1 Using Pip................................................. 3 2.2 GitHub..................................................

More information

django-flickr Documentation

django-flickr Documentation django-flickr Documentation Release 0.3.0 Jakub Zalewski June 19, 2013 CONTENTS 1 Project links 3 2 Contents 5 2.1 Installation................................................ 5 2.2 Usage...................................................

More information

Django with Python Course Catalog

Django with Python Course Catalog Django with Python Course Catalog Enhance Your Contribution to the Business, Earn Industry-recognized Accreditations, and Develop Skills that Help You Advance in Your Career March 2018 www.iotintercon.com

More information

Quick housekeeping Last Two Homeworks Extra Credit for demoing project prototypes Reminder about Project Deadlines/specifics Class on April 12th Resul

Quick housekeeping Last Two Homeworks Extra Credit for demoing project prototypes Reminder about Project Deadlines/specifics Class on April 12th Resul CIS192 Python Programming Web Frameworks and Web APIs Harry Smith University of Pennsylvania March 29, 2016 Harry Smith (University of Pennsylvania) CIS 192 March 29, 2016 1 / 25 Quick housekeeping Last

More information

wagtailmenus Documentation

wagtailmenus Documentation wagtailmenus Documentation Release 2.12 Andy Babic Nov 17, 2018 Contents 1 Full index 3 1.1 Overview and key concepts....................................... 3 1.1.1 Better control over top-level menu

More information

+1 (646) (US) +44 (20) (UK) Blog. for Magento 2. ecommerce.aheadworks.com/magento-2-extensions

+1 (646) (US) +44 (20) (UK) Blog. for Magento 2. ecommerce.aheadworks.com/magento-2-extensions Blog for Magento 2 Table of contents: Table of contents:... 2 Reference table... 3 Getting started... 4 Sidebar... 5 SEO... 6 Related Products... 6 Wordpress Import... 7 Blog categories... 7 Blog posts...

More information

LICENSING PROGRAM SOFTWARE IMPROVEMENT NOTICE VERSION 3.9

LICENSING PROGRAM SOFTWARE IMPROVEMENT NOTICE VERSION 3.9 9.1 Recipient Selection Interface Redesigned the "Step 1 - Select Recipients" form for intuitive profiling and added the ability to select multiple Bookmarks for mailings. The Recipients List is updated

More information

pyshk Documentation Release Jeremy Low

pyshk Documentation Release Jeremy Low pyshk Documentation Release 1.1.0 Jeremy Low December 20, 2015 Contents 1 Warnings 3 2 Installation 5 3 Authentication Tutorial 7 3.1 Introduction............................................... 7 3.2

More information

django-crucrudile Documentation

django-crucrudile Documentation django-crucrudile Documentation Release 0.9.1 Hugo Geoffroy (pstch) July 27, 2014 Contents 1 Installation 1 1.1 From Python package index....................................... 1 1.2 From source...............................................

More information

SQLAlchemy-Searchable Documentation

SQLAlchemy-Searchable Documentation SQLAlchemy-Searchable Documentation Release 1.0.3 Konsta Vesterinen Apr 02, 2018 Contents 1 Installation 3 2 QuickStart 5 3 Search query parser 7 3.1 AND operator..............................................

More information

All-In-One-Designer SEO Handbook

All-In-One-Designer SEO Handbook All-In-One-Designer SEO Handbook Introduction To increase the visibility of the e-store to potential buyers, there are some techniques that a website admin can implement through the admin panel to enhance

More information

py420chan Documentation

py420chan Documentation py420chan Documentation Release 0.0.3 Antonizoon Overtwater Nov 26, 2018 Contents 1 General Documentation 3 1.1 Tutorial.................................................. 3 1.2 Changes from the original

More information

eventbrite-sdk-python Documentation

eventbrite-sdk-python Documentation eventbrite-sdk-python Documentation Release 3.3.4 Eventbrite December 18, 2016 Contents 1 eventbrite-sdk-python 3 1.1 Installation from PyPI.......................................... 3 1.2 Usage...................................................

More information

Squiz Matrix User Manual Library

Squiz Matrix User Manual Library Squiz Matrix User Manual Library The Squiz Matrix User Manual Library is a prime resource for all up-to-date manuals about Squiz's flagship CMS The EES Installation Guide Show Version Info Off This guide

More information

g-pypi Documentation Release 0.3 Domen Kožar

g-pypi Documentation Release 0.3 Domen Kožar g-pypi Documentation Release 0.3 Domen Kožar January 20, 2014 Contents i ii Author Domen Kožar Source code Github.com source browser Bug tracker Github.com issues Generated January 20,

More information

catsup Documentation Release whtsky

catsup Documentation Release whtsky catsup Documentation Release 0.3.4 whtsky February 07, 2014 Contents i ii Catsup is a lightweight static website generator which aims to be simple and elegant. Contents 1 2 Contents CHAPTER 1 User s Guide

More information

Django Wordpress API Documentation

Django Wordpress API Documentation Django Wordpress API Documentation Release 0.1.0 Swapps Jun 28, 2017 Contents 1 Django Wordpress API 3 1.1 Documentation.............................................. 3 1.2 Quickstart................................................

More information

Easy-select2 Documentation

Easy-select2 Documentation Easy-select2 Documentation Release 1.2.2 Lobanov Stanislav aka asyncee September 15, 2014 Contents 1 Installation 3 2 Quickstart 5 3 Configuration 7 4 Usage 9 5 Reference 11 5.1 Widgets..................................................

More information

web-transmute Documentation

web-transmute Documentation web-transmute Documentation Release 0.1 Yusuke Tsutsumi Dec 19, 2017 Contents 1 Writing transmute-compatible functions 3 1.1 Add function annotations for input type validation / documentation..................

More information

Pixelsilk Training Manual 8/25/2011. Pixelsilk Training. Copyright Pixelsilk

Pixelsilk Training Manual 8/25/2011. Pixelsilk Training. Copyright Pixelsilk Pixelsilk Training Copyright Pixelsilk 2009 1 Pixelsilk Training Guide Copyright 2009, Pixelsilk All rights reserved. No part of this book or accompanying class may be reproduced or transmitted in any

More information

CommonSpot Release Notes

CommonSpot Release Notes CommonSpot 10.0.1 Release Notes Copyright 1998 2016 PaperThin, Inc. All rights reserved. About this Document This document summarizes the following for the CommonSpot 10.0.1 release: Important Notes Notable

More information

Startup Guide. Version 2.3.7

Startup Guide. Version 2.3.7 Startup Guide Version 2.3.7 Installation and initial setup Your welcome email included a link to download the ORBTR plugin. Save the software to your hard drive and log into the admin panel of your WordPress

More information

MongoTor Documentation

MongoTor Documentation MongoTor Documentation Release 0.1.0 Marcel Nicolat June 11, 2014 Contents 1 Features 3 2 Contents: 5 2.1 Installation................................................ 5 2.2 Tutorial..................................................

More information

Design Proposal for Hive Metastore Plugin

Design Proposal for Hive Metastore Plugin Design Proposal for Hive Metastore Plugin 1. Use Cases and Motivations 1.1 Hive Privilege Changes as Result of SQL Object Changes SQL DROP TABLE/DATABASE command would like to have all the privileges directly

More information

Home Assistant Documentation

Home Assistant Documentation Home Assistant Documentation Release 0.73.0.dev0 Home Assistant Team Jul 14, 2018 Contents 1 homeassistant.bootstrap 3 2 homeassistant.core 5 3 Module contents 7 4 homeassistant.components.device_tracker

More information

Advanced Flask Patterns

Advanced Flask Patterns Advanced Flask Patterns (mysteriously also applicable to other things) a presentation by Armin Ronacher @mitsuhiko Some of these things are general suggestions of how I think applications can be structured

More information

Connexion Documentation

Connexion Documentation Connexion Documentation Release 0.5 Zalando SE Nov 16, 2017 Contents 1 Quickstart 3 1.1 Prerequisites............................................... 3 1.2 Installing It................................................

More information

PYTHON CONTENT NOTE: Almost every task is explained with an example

PYTHON CONTENT NOTE: Almost every task is explained with an example PYTHON CONTENT NOTE: Almost every task is explained with an example Introduction: 1. What is a script and program? 2. Difference between scripting and programming languages? 3. What is Python? 4. Characteristics

More information

Gearthonic Documentation

Gearthonic Documentation Gearthonic Documentation Release 0.2.0 Timo Steidle August 11, 2016 Contents 1 Quickstart 3 2 Contents: 5 2.1 Usage................................................... 5 2.2 API....................................................

More information

wagtailmenus Documentation

wagtailmenus Documentation wagtailmenus Documentation Release 2.11 Andy Babic Aug 02, 2018 Contents 1 Full index 3 1.1 Overview and key concepts....................................... 3 1.1.1 Better control over top-level menu

More information

xmljson Documentation

xmljson Documentation xmljson Documentation Release 0.1.9 S Anand Aug 01, 2017 Contents 1 About 3 2 Convert data to XML 5 3 Convert XML to data 7 4 Conventions 9 5 Options 11 6 Installation 13 7 Roadmap 15 8 More information

More information

Administrative Training Mura CMS Version 5.6

Administrative Training Mura CMS Version 5.6 Administrative Training Mura CMS Version 5.6 Published: March 9, 2012 Table of Contents Mura CMS Overview! 6 Dashboard!... 6 Site Manager!... 6 Drafts!... 6 Components!... 6 Categories!... 6 Content Collections:

More information

BanzaiDB Documentation

BanzaiDB Documentation BanzaiDB Documentation Release 0.3.0 Mitchell Stanton-Cook Jul 19, 2017 Contents 1 BanzaiDB documentation contents 3 2 Indices and tables 11 i ii BanzaiDB is a tool for pairing Microbial Genomics Next

More information

vfire Officer App Server Installation Guide Version 1.3

vfire Officer App Server Installation Guide Version 1.3 vfire Officer App Server Installation Guide Table of Contents Version Details 3 Online Support 3 Copyright 3 About this Document 5 Intended Audience 5 Standards and Conventions 5 vfire Officer App Prerequisites

More information

Oracle APEX 18.1 New Features

Oracle APEX 18.1 New Features Oracle APEX 18.1 New Features May, 2018 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated

More information

django-sticky-uploads Documentation

django-sticky-uploads Documentation django-sticky-uploads Documentation Release 0.2.0 Caktus Consulting Group October 26, 2014 Contents 1 Requirements/Installing 3 2 Browser Support 5 3 Documentation 7 4 Running the Tests 9 5 License 11

More information

Cisco WebEx Social Release Notes, Release 3.1 SR1

Cisco WebEx Social Release Notes, Release 3.1 SR1 Cisco WebEx Social Release Notes, Release 3.1 SR1 Revised November 27, 2012 These release notes provide important information for Cisco WebEx Social 3.1 SR1 build 3.1.1.10100.194. Contents These release

More information

RIPE Atlas Cousteau Documentation

RIPE Atlas Cousteau Documentation RIPE Atlas Cousteau Documentation Release 1.1 The RIPE Atlas Team February 09, 2016 Contents 1 Contents: 3 1.1 Requirements & Installation....................................... 3 1.2 Use & Examples.............................................

More information

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. WordPress

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. WordPress About the Tutorial WordPress is an open source Content Management System (CMS), which allows the users to build dynamic websites and blog. WordPress is the most popular blogging system on the web and allows

More information

ScholarBlogs Basics (WordPress)

ScholarBlogs Basics (WordPress) Emory Center for Digital Scholarship Library and Information Technology Services ScholarBlogs Basics (WordPress) Table of Contents (click on the headings below to go directly to the section) Use of ScholarBlogs

More information

Liferay Digital Experience Platform. New Features Summary

Liferay Digital Experience Platform. New Features Summary Liferay Digital Experience Platform New Features Summary Liferay has redesigned its platform with new functionality in Liferay Digital Experience Platform (DXP). The following is a summary of the key new

More information

Django-CSP Documentation

Django-CSP Documentation Django-CSP Documentation Release 3.0 James Socol, Mozilla September 06, 2016 Contents 1 Installing django-csp 3 2 Configuring django-csp 5 2.1 Policy Settings..............................................

More information

Aldryn Installer Documentation

Aldryn Installer Documentation Aldryn Installer Documentation Release 0.2.0 Iacopo Spalletti February 06, 2014 Contents 1 django CMS Installer 3 1.1 Features.................................................. 3 1.2 Installation................................................

More information

Python State Machine Documentation

Python State Machine Documentation Python State Machine Documentation Release 0.7.1 Fernando Macedo Jan 17, 2019 Contents 1 Python State Machine 3 1.1 Getting started.............................................. 3 2 Installation 9 2.1

More information

SYMFONY2 WEB FRAMEWORK

SYMFONY2 WEB FRAMEWORK 1 5828 Foundations of Software Engineering Spring 2012 SYMFONY2 WEB FRAMEWORK By Mazin Hakeem Khaled Alanezi 2 Agenda Introduction What is a Framework? Why Use a Framework? What is Symfony2? Symfony2 from

More information

gmusicapi-wrapper Documentation

gmusicapi-wrapper Documentation gmusicapi-wrapper Documentation Release 0.3.0 thebigmunch Nov 02, 2017 Contents 1 Mobile Client 3 2 Music Manager 7 3 Utils 11 Python Module Index 15 i ii A wrapper interface for gmusicapi providing extra

More information

django-dynamic-db-router Documentation

django-dynamic-db-router Documentation django-dynamic-db-router Documentation Release 0.1.1 Erik Swanson August 24, 2016 Contents 1 Table of Contents 3 1.1 Installation................................................ 3 1.2 Quickstart................................................

More information

DOCUMENTUM D2. User Guide

DOCUMENTUM D2. User Guide DOCUMENTUM D2 User Guide Contents 1. Groups... 6 2. Introduction to D2... 7 Access D2... 7 Recommended browsers... 7 Login... 7 First-time login... 7 Installing the Content Transfer Extension... 8 Logout...

More information

bzz Documentation Release Rafael Floriano and Bernardo Heynemann

bzz Documentation Release Rafael Floriano and Bernardo Heynemann bzz Documentation Release 0.1.0 Rafael Floriano and Bernardo Heynemann Nov 15, 2017 Contents 1 Getting Started 3 2 Flattening routes 5 3 Indices and tables 7 3.1 Model Hive................................................

More information

WebSphere Portal Application Development Best Practices using Rational Application Developer IBM Corporation

WebSphere Portal Application Development Best Practices using Rational Application Developer IBM Corporation WebSphere Portal Application Development Best Practices using Rational Application Developer 2009 IBM Corporation Agenda 2 RAD Best Practices Deployment Best Practices WSRP Best Practices Portlet Coding

More information

Facebook SDK for Python Documentation

Facebook SDK for Python Documentation Facebook SDK for Python Documentation Release 3.1.0-pre Martey Dodoo Oct 07, 2018 Contents 1 Installation 1 1.1 Installing from Git............................................ 1 1.2 Installing a Released

More information

Release Notes Release (December 4, 2017)... 4 Release (November 27, 2017)... 5 Release

Release Notes Release (December 4, 2017)... 4 Release (November 27, 2017)... 5 Release Release Notes Release 2.1.4. 201712031143 (December 4, 2017)... 4 Release 2.1.4. 201711260843 (November 27, 2017)... 5 Release 2.1.4. 201711190811 (November 20, 2017)... 6 Release 2.1.4. 201711121228 (November

More information

Siteforce Pilot: Best Practices

Siteforce Pilot: Best Practices Siteforce Pilot: Best Practices Getting Started with Siteforce Setup your users as Publishers and Contributors. Siteforce has two distinct types of users First, is your Web Publishers. These are the front

More information

Airoscript-ng Documentation

Airoscript-ng Documentation Airoscript-ng Documentation Release 0.0.4 David Francos Cuartero January 22, 2015 Contents 1 Airoscript-ng 3 1.1 Features.................................................. 3 1.2 TODO..................................................

More information

Learning vrealize Orchestrator in action V M U G L A B

Learning vrealize Orchestrator in action V M U G L A B Learning vrealize Orchestrator in action V M U G L A B Lab Learning vrealize Orchestrator in action Code examples If you don t feel like typing the code you can download it from the webserver running on

More information

Pulp Python Support Documentation

Pulp Python Support Documentation Pulp Python Support Documentation Release 1.0.1 Pulp Project October 20, 2015 Contents 1 Release Notes 3 1.1 1.0 Release Notes............................................ 3 2 Administrator Documentation

More information

NVIDIA DIGITS CONTAINER

NVIDIA DIGITS CONTAINER NVIDIA DIGITS CONTAINER DU-09194-001 _v1.0 January 2019 User Guide TABLE OF CONTENTS Chapter 1. Overview... 1 Chapter 2. Creating A Dataset Using Data From An S3 Endpoint... 2 Chapter 3. Writing a DIGITS

More information

Jquery Manually Set Checkbox Checked Or Not

Jquery Manually Set Checkbox Checked Or Not Jquery Manually Set Checkbox Checked Or Not Working Second Time jquery code to set checkbox element to checked not working. Apr 09 I forced a loop to show checked state after the second menu item in the

More information

goose3 Documentation Release maintainers

goose3 Documentation Release maintainers goose3 Documentation Release 3.1.6 maintainers Oct 20, 2018 Contents: 1 Goose3 API 1 1.1 Goose3.................................................. 1 1.2 Configuration...............................................

More information

MyGeotab Python SDK Documentation

MyGeotab Python SDK Documentation MyGeotab Python SDK Documentation Release 0.8.0 Aaron Toth Dec 13, 2018 Contents 1 Features 3 2 Usage 5 3 Installation 7 4 Documentation 9 5 Changes 11 5.1 0.8.0 (2018-06-18)............................................

More information

Getting Started with the Aloha Community Template for Salesforce Identity

Getting Started with the Aloha Community Template for Salesforce Identity Getting Started with the Aloha Community Template for Salesforce Identity Salesforce, Winter 18 @salesforcedocs Last updated: November 30, 2017 Copyright 2000 2017 salesforce.com, inc. All rights reserved.

More information

Flask-Sendmail Documentation

Flask-Sendmail Documentation Flask-Sendmail Documentation Release 0.1 Anthony Ford February 14, 2014 Contents 1 Installing Flask-Sendmail 3 2 Configuring Flask-Sendmail 5 3 Sending messages 7 4 Bulk emails 9 5 Attachments 11 6 Unit

More information

Kaiso Documentation. Release 0.1-dev. onefinestay

Kaiso Documentation. Release 0.1-dev. onefinestay Kaiso Documentation Release 0.1-dev onefinestay Sep 27, 2017 Contents 1 Neo4j visualization style 3 2 Contents 5 2.1 API Reference.............................................. 5 3 Indices and tables

More information