dealer 2.1.0
Dealer -- SCM (Git, Mercurial) watcher

Home-page:  http://github.com/klen/dealer
Author: Kirill Klenov <horneds@gmail.com>
Author-email: horneds@gmail.com
License: BSD
Description: |logo| Dealer
        #############
        
        .. _description:
        
        Dealer — SCM_ revision helper in your projects. Just add SCM_ revision to
        your static paths and get automatic control at client browser caches:
        
        Somewhere in templates: ::
            
            <script src='/main.js?{{ request.revision }}'
        
        On clientside: ::
        
            <script src='/main.js?34jhfd45hd8'
        
        Supported Git_, Mercurial_ and simple revision parse by file.
        
        .. note:: You should install Mercurial_ for hg support.
        
        .. note:: For Django<2 please use Dealer<3
        
        
        .. _badges:
        
        .. image:: http://img.shields.io/travis/klen/dealer.svg?style=flat-square
            :target: http://travis-ci.org/klen/dealer
            :alt: Build Status
        
        .. image:: http://img.shields.io/coveralls/klen/dealer.svg?style=flat-square
            :target: https://coveralls.io/r/klen/dealer
            :alt: Coverals
        
        .. image:: http://img.shields.io/pypi/v/dealer.svg?style=flat-square
            :target: https://pypi.python.org/pypi/dealer
            :alt: Version
        
        .. image:: http://img.shields.io/pypi/dm/dealer.svg?style=flat-square
            :target: https://pypi.python.org/pypi/dealer
            :alt: Downloads
        
        .. image:: http://img.shields.io/gratipay/klen.svg?style=flat-square
            :target: https://www.gratipay.com/klen/
            :alt: Donate
        
        
        .. _contents:
        
        .. contents::
        
        
        .. _requirements:
        
        Requirements
        =============
        
        - python 2.7, 3.5+
        
        .. note:: For Django<2 please use Dealer<3
        
        
        .. _installation:
        
        Installation
        =============
        
        **Dealer** should be installed using pip: ::
        
            pip install dealer
        
        
        .. _usage:
        
        Usage
        =====
        
        Basic usage
        -----------
        ::
        
            from dealer.git import git
        
            print git.revision
        
            print git.tag
        
        ::
        
            # Auto parse repository type
            from dealer.auto import auto
            print auto.revision
        
            print auto.tag
        
        
        Manually create backend
        ----------------------
        
        **path** — path to SCM_ repository (current dir by default)
        ::
        
            from dealer.mercurial import Backend
        
            hg = Backend('/path/to/hg/repo')
        
        
        Django support
        --------------
        
        Settings
        ^^^^^^^^
        
        **DEALER_TYPE** — Type of SCM_ repository ('auto', 'git', 'mercurial', 'simple', 'env', 'null'). By default 'auto';
        
        **DEALER_PATH** — Path to SCM_. By default current dir;
        
        **DEALER_SILENT** — Disable log warnings;
        
        **DEALER_BACKENDS** — Backends for auto search by default ('git', 'mercurial', 'simple', 'env', 'null');
        
        
        Context-processor
        ^^^^^^^^^^^^^^^^^
        
        Append to your context processors: ::
        
            ...
            context_processors = ['dealer.contrib.django.context_processor']
        
        And use the *REVISION* and *TAG* variables in your templates: ::
        
            <link href="/test.css?{{ REVISION }}" rel="stylesheet" type="text/css" media="screen" />
            <script src="/test.js?{{ REVISION }}"></script>
        
        Middleware
        ^^^^^^^^^^
            
        Append to your settings: ::
        
            MIDDLEWARE = ['dealer.contrib.django.Middleware']
        
        And use in your views: ::
        
            def view(request):
                return request.revision
        
        Or in your templates by `request.revision` var.
        
        
        Flask support
        -------------
        
        Settings
        ^^^^^^^^
        
        *DEALER_TYPE* — Type of SCM_ repository ('auto', 'git', 'mercurial', 'simple', 'env', 'null'). By default 'auto'
        *DEALER_PARAMS* — Params for backend
        
        Usage
        ^^^^^
        
        In views::
        
                from flask import Flask, g
                from dealer.contrib.flask import Dealer
        
                app = Flask('test')
                Dealer(app)
                assert app.revision
        
                @app.route('/')
                def usage_in_view():
                    return g.revision
        
        
        In templates: ::
        
            <link href="/test.css?{{ REVISION }}" rel="stylesheet" type="text/css" media="screen" />
        
        Pyramid support
        ---------------
        
        ::
        
            config.include('dealer.contrib.pyramid')
        
        ::
        
            def myview(request):
                revision = request.registry.dealer.revision
                tag = request.registry.dealer.tag
        
        In templates
        
        ::
        
            Revision: {{DEALER_REVISION}}
            Tag: {{DEALER_TAG}}
        
        
        Heroku support
        -------------
        
        Settings
        ^^^^^^^^
        
        *DEALER_TYPE* = 'env'
        *DEALER_PARAMS*:
            *revision_env_keyname* - Variable name for revision (default: DEALER_REVISION)
        	*tag_env_keyname* - Variable name for tag (default: DEALER_TAG)
        
        Usage
        ^^^^^
        
        Setup your revision and tag value in envirement variables.
        For example in Heroku.com:
        ::
            heroku config:set DEALER_REVISION='3ffb6b6'
            heroku config:set DEALER_TAG=v1_1
        
        After that use dealer as described above.
         
        
        .. _bagtracker:
        
        Bug tracker
        ===========
        
        If you have any suggestions, bug reports or
        annoyances please report them to the issue tracker
        at https://github.com/klen/Dealer/issues
        
        
        .. _contributing:
        
        Contributing
        ============
        
        Development of dealer happens at github: https://github.com/klen/dealer
        
        
        .. _contributors:
        
        Contributors
        =============
        
        * klen_ (Kirill Klenov)
        
        
        .. _license:
        
        License
        =======
        
        Licensed under a `BSD license`_.
        
        
        .. _links:
        
        .. _BSD license: http://www.linfo.org/bsdlicense.html
        .. _klen: http://klen.github.com/
        .. _SCM: http://en.wikipedia.org/wiki/Source_Control_Management
        .. _Git: http://en.wikipedia.org/wiki/Git_(oftware)
        .. _Mercurial: http://en.wikipedia.org/wiki/Mercurial
        .. |logo| image:: https://raw.github.com/klen/dealer/develop/docs/_static/logo.png
                          :width: 100
        
Keywords: mercurial,git,static,revision,django,flask
Platform: Any
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Natural Language :: Russian
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.5
Classifier: Environment :: Console