Welcome to Dealer¶
Welcome to Dealer’s documentation.
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
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¶
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¶
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¶
Development of dealer happens at github: https://github.com/klen/dealer
Contributors¶
- klen (Kirill Klenov)
License¶
Licensed under a BSD license.