Skip to content

Commit

Permalink
Merge pull request #429 from pgiraud/cache_busting
Browse files Browse the repository at this point in the history
Using the new cache busting from pyramid 1.6-dev
  • Loading branch information
Pierre GIRAUD committed Nov 3, 2014
2 parents b501337 + ed425ac commit 5bb8880
Show file tree
Hide file tree
Showing 13 changed files with 62 additions and 37 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ before_install:
install:
- virtualenv env
- source env/bin/activate
- python setup.py develop
- pip install -r requirements.txt
- sudo service postgresql restart
- sudo -u postgres createuser www-data --no-superuser --no-createdb --no-createrole
- sudo -u postgres createdb -O www-data osmtm
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ To create a virtual Python environment:
cd osm-tasking-manager2
sudo easy_install virtualenv
virtualenv --no-site-packages env
./env/bin/python setup.py develop
./env/bin/pip install -r requirements.txt

*Tip: if you encounter problems installing `psycopg2` especially on Mac, it is recommended to follow advice proposed [here](http://stackoverflow.com/questions/22313407/clang-error-unknown-argument-mno-fused-madd-python-package-installation-fa).*

Expand Down
1 change: 0 additions & 1 deletion RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
- [ ] Draft a new release https://github.com/hotosm/osm-tasking-manager2/releases/new
- [ ] Update CHANGELOG.md
- [ ] Update version number in setup.py
- [ ] Update version number in mako templates (resources)
- [ ] git ci -m "Bumping version A.B.C"
- [ ] git tag A.B.C (for example 2.3.0)
- [ ] git push upstream --tags
Expand Down
7 changes: 6 additions & 1 deletion osmtm/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@
group_membership,
)

from .git_cache_buster import (
GitCacheBuster,
)


def main(global_config, **settings):
""" This function returns a Pyramid WSGI application.
Expand Down Expand Up @@ -53,7 +57,8 @@ def main(global_config, **settings):
session_factory = UnencryptedCookieSessionFactoryConfig('itsasecret')
config.set_session_factory(session_factory)

config.add_static_view('static', 'static', cache_max_age=3600)
config.add_static_view('static', 'static', cache_max_age=3600,
cachebust=GitCacheBuster())
config.add_route('home', '/')
config.add_route('about', '/about')
config.add_route('login', '/login')
Expand Down
19 changes: 19 additions & 0 deletions osmtm/git_cache_buster.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import os
import subprocess
from pyramid.static import PathSegmentMd5CacheBuster


class GitCacheBuster(PathSegmentMd5CacheBuster):
"""
Assuming your code is installed as a Git checkout, as opposed to as an
egg from an egg repository like PYPI, you can use this cachebuster to
get the current commit's SHA1 to use as the cache bust token.
"""
def __init__(self):
here = os.path.dirname(os.path.abspath(__file__))
self.sha1 = subprocess.check_output(
['git', 'rev-parse', 'HEAD'],
cwd=here).strip()

def token(self, pathspec):
return self.sha1
18 changes: 9 additions & 9 deletions osmtm/templates/base.mako
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
<head>
<title>${custom.instance_name()} - ${self.title()}</title>
<link rel="shortcut icon" href="${request.static_url('osmtm:static/img/favicon.ico')}">
<link rel="stylesheet" href="${request.static_url('osmtm:static/css/main.css', _query={'v':'2.7-dev'})}">
<link rel="stylesheet" href="${request.static_url('osmtm:static/js/lib/leaflet.css', _query={'v':'2.7-dev'})}">
<script src="${request.static_url('osmtm:static/js/lib/jquery-1.7.2.min.js', _query={'v':'2.7-dev'})}"></script>
<script src="${request.static_url('osmtm:static/js/lib/showdown.js', _query={'v':'2.7-dev'})}"></script>
<script src="${request.static_url('osmtm:static/js/lib/jquery-timeago/jquery.timeago.js', _query={'v':'2.7-dev'})}"></script>
<script src="${request.static_url('osmtm:static/js/lib/jquery-timeago/locales/jquery.timeago.%s.js' % request.locale_name, _query={'v':'2.7-dev'})}"></script>
<script src="${request.static_url('osmtm:static/js/lib/sammy-latest.min.js', _query={'v':'2.7-dev'})}"></script>
<script src="${request.static_url('osmtm:static/js/shared.js', _query={'v':'2.7-dev'})}"></script>
<script src="${request.static_url('osmtm:static/bootstrap/dist/js/bootstrap.min.js', _query={'v':'2.7-dev'})}"></script>
<link rel="stylesheet" href="${request.static_url('osmtm:static/css/main.css')}">
<link rel="stylesheet" href="${request.static_url('osmtm:static/js/lib/leaflet.css')}">
<script src="${request.static_url('osmtm:static/js/lib/jquery-1.7.2.min.js')}"></script>
<script src="${request.static_url('osmtm:static/js/lib/showdown.js')}"></script>
<script src="${request.static_url('osmtm:static/js/lib/jquery-timeago/jquery.timeago.js')}"></script>
<script src="${request.static_url('osmtm:static/js/lib/jquery-timeago/locales/jquery.timeago.%s.js' % request.locale_name)}"></script>
<script src="${request.static_url('osmtm:static/js/lib/sammy-latest.min.js')}"></script>
<script src="${request.static_url('osmtm:static/js/shared.js')}"></script>
<script src="${request.static_url('osmtm:static/bootstrap/dist/js/bootstrap.min.js')}"></script>
<%
from osmtm.models import DBSession, TaskComment
login_url= request.route_path('login', _query=[('came_from', request.url)])
Expand Down
16 changes: 8 additions & 8 deletions osmtm/templates/project.edit.mako
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
<h1>${project.id} - ${project.name} - Edit</h1>
</%block>
<%block name="content">
<link rel="stylesheet" href="${request.static_url('osmtm:static/js/lib/datepicker3.css', _query={'v':'2.7-dev'})}">
<script type="text/javascript" src="${request.static_url('osmtm:static/js/lib/angular.min.js', _query={'v':'2.7-dev'})}"></script>
<script type="text/javascript" src="${request.static_url('osmtm:static/js/lib/bootstrap-datepicker.js', _query={'v':'2.7-dev'})}"></script>
<link rel="stylesheet" href="${request.static_url('osmtm:static/js/lib/Leaflet.draw/dist/leaflet.draw.css', _query={'v':'2.7-dev'})}"/>
<script src="${request.static_url('osmtm:static/js/lib/leaflet.js', _query={'v':'2.7-dev'})}"></script>
<script src="${request.static_url('osmtm:static/js/lib/Leaflet.draw/dist/leaflet.draw.js', _query={'v':'2.7-dev'})}"></script>
<link rel="stylesheet" href="${request.static_url('osmtm:static/js/lib/datepicker3.css')}">
<script type="text/javascript" src="${request.static_url('osmtm:static/js/lib/angular.min.js')}"></script>
<script type="text/javascript" src="${request.static_url('osmtm:static/js/lib/bootstrap-datepicker.js')}"></script>
<link rel="stylesheet" href="${request.static_url('osmtm:static/js/lib/Leaflet.draw/dist/leaflet.draw.css')}"/>
<script src="${request.static_url('osmtm:static/js/lib/leaflet.js')}"></script>
<script src="${request.static_url('osmtm:static/js/lib/Leaflet.draw/dist/leaflet.draw.js')}"></script>
<div id="markdown_cheat_sheet" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
Expand Down Expand Up @@ -78,8 +78,8 @@ geometry = loads(str(project.area.geometry.data))
</div>
</div>
</form>
<script type="text/javascript" src="${request.static_url('osmtm:static/js/project.edit.js', _query={'v':'2.7-dev'})}"></script>
<script src="${request.static_url('osmtm:static/js/lib/typeahead.bundle.js', _query={'v':'2.7-dev'})}"></script>
<script type="text/javascript" src="${request.static_url('osmtm:static/js/project.edit.js')}"></script>
<script src="${request.static_url('osmtm:static/js/lib/typeahead.bundle.js')}"></script>
</div>
</%block>
<%block name="description">
Expand Down
12 changes: 6 additions & 6 deletions osmtm/templates/project.mako
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ else:
</div>
</div>
</div>
<script src="${request.static_url('osmtm:static/js/lib/leaflet.js', _query={'v':'2.7-dev'})}"></script>
<script src="${request.static_url('osmtm:static/js/lib/leaflet.js')}"></script>
<script>
<%
from shapely.wkb import loads
Expand All @@ -102,9 +102,9 @@ var statesI18n = ["${_('Ready')}", "${_('Invalidated')}", "${_('Done')}", "${_('
var commentRequiredMsg = "${_('You must leave a comment.')}";
var highPriorityI18n = "${_('High priority')}";
</script>
<script src="${request.static_url('osmtm:static/js/lib/d3.v3.js', _query={'v':'2.7-dev'})}"></script>
<script type="text/javascript" src="${request.static_url('osmtm:static/js/project.js', _query={'v':'2.7-dev'})}"></script>
<script type="text/javascript" src="${request.static_url('osmtm:static/js/task.difficulty.js', _query={'v':'2.7-dev'})}"></script>
<script src="${request.static_url('osmtm:static/js/lib/At.js/js/jquery.caret.js', _query={'v':'2.7-dev'})}"></script>
<script src="${request.static_url('osmtm:static/js/lib/At.js/js/jquery.atwho.js', _query={'v':'2.7-dev'})}"></script>
<script src="${request.static_url('osmtm:static/js/lib/d3.v3.js')}"></script>
<script type="text/javascript" src="${request.static_url('osmtm:static/js/project.js')}"></script>
<script type="text/javascript" src="${request.static_url('osmtm:static/js/task.difficulty.js')}"></script>
<script src="${request.static_url('osmtm:static/js/lib/At.js/js/jquery.caret.js')}"></script>
<script src="${request.static_url('osmtm:static/js/lib/At.js/js/jquery.atwho.js')}"></script>
</%block>
2 changes: 1 addition & 1 deletion osmtm/templates/project.new.import.mako
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@
</p>
</form>
</div>
<script src="${request.static_url('osmtm:static/js/project.new.import.js', _query={'v':'2.7-dev'})}"></script>
<script src="${request.static_url('osmtm:static/js/project.new.import.js')}"></script>
</%block>
14 changes: 7 additions & 7 deletions osmtm/templates/project.new.mako
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@
</div>
</div>
</div>
<link rel="stylesheet" href="${request.static_url('osmtm:static/js/lib/Leaflet.draw/dist/leaflet.draw.css', _query={'v':'2.7-dev'})}"/>
<script src="${request.static_url('osmtm:static/js/lib/leaflet.js', _query={'v':'2.7-dev'})}"></script>
<script src="${request.static_url('osmtm:static/js/lib/Leaflet.draw/dist/leaflet.draw.js', _query={'v':'2.7-dev'})}"></script>
<script src="${request.static_url('osmtm:static/js/lib/leaflet-omnivore.min.js', _query={'v':'2.7-dev'})}"></script>
<script src="${request.static_url('osmtm:static/js/project.new.js', _query={'v':'2.7-dev'})}"></script>
<link rel="stylesheet" href="${request.static_url('osmtm:static/js/lib/Leaflet.draw/dist/leaflet.draw.css')}"/>
<script src="${request.static_url('osmtm:static/js/lib/leaflet.js')}"></script>
<script src="${request.static_url('osmtm:static/js/lib/Leaflet.draw/dist/leaflet.draw.js')}"></script>
<script src="${request.static_url('osmtm:static/js/lib/leaflet-omnivore.min.js')}"></script>
<script src="${request.static_url('osmtm:static/js/project.new.js')}"></script>
</%block>

Expand Down Expand Up @@ -64,7 +64,7 @@
<input type="radio" name="type" value="grid" checked/>
Square Grid
<br>
<img src="${request.static_url('osmtm:static/img/project_creation_grid.png', _query={'v':'2.7-dev'})}" width="150">
<img src="${request.static_url('osmtm:static/img/project_creation_grid.png')}" width="150">
<p class="help-block">
Area of interest is automatically split into grid cells. Each one is a task.<br>
</p>
Expand All @@ -78,7 +78,7 @@
<input type="radio" name="type" value="arbitrary" disabled />
Arbitrary Geometries
<br>
<img src="${request.static_url('osmtm:static/img/project_creation_arbitrary.png', _query={'v':'2.7-dev'})}" width="150">
<img src="${request.static_url('osmtm:static/img/project_creation_arbitrary.png')}" width="150">
<p class="help-block">
Each polygon represents a task.<br>
</p>
Expand Down
2 changes: 1 addition & 1 deletion osmtm/templates/task.assigned.mako
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
</a>
% endif
</div>
<script type="text/javascript" src="${request.static_url('osmtm:static/js/task.assign.js', _query={'v':'2.7-dev'})}"></script>
<script type="text/javascript" src="${request.static_url('osmtm:static/js/task.assign.js')}"></script>
<div id="assign_to_selector" class="panel panel-default hide">
<div class="panel-heading small">
<strong>
Expand Down
2 changes: 2 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
-e git+https://github.com/Pylons/pyramid.git#egg=pyramid
-e .
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
CHANGES = open(os.path.join(here, 'CHANGELOG.md')).read()

requires = [
'pyramid==1.5',
'pyramid==1.6-dev',
'pyramid_mako==1.0.2',
'SQLAlchemy==0.9.3',
'transaction',
Expand Down

0 comments on commit 5bb8880

Please sign in to comment.