[
  {
    "path": ".gitignore",
    "content": "*/settings/local.py\n*.py[co]\n*.sw[po]\n*.egg*\n.coverage\npip-log.txt\ndocs/_gh-pages\nbuild.py\nbuild\n.DS_Store\n.noseids\ntmp/*\n*.swp\n*~\n*.mo\n*.log\n*.db\ndb/\ntest_db/\n.vagrant\n*.sublime-project\n*.sublime-workspace\nmedia/*\nstatic/*\n"
  },
  {
    "path": "LICENSE",
    "content": "Copyright (c) 2012-2013, Xenith Studios\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n    * Redistributions in binary form must reproduce the above copyright notice,\n      this list of conditions and the following disclaimer in the documentation\n      and/or other materials provided with the distribution.\n    * Neither the name of the copyright owner nor the names of its contributors\n      may be used to endorse or promote products derived from this software\n      without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  {
    "path": "README.md",
    "content": "{% if False %}\n# Django 1.8 Base Template #\n\n## About ##\n\nThis template is based off of the work of [Mozilla Playdoh][playdoh] and\n[Two Scoops of Django][twoscoops], as well as experience with other Django\nlayouts/project templates. Playdoh is mainly setup for Mozilla's systems and is\noverly-complicated for a simple project template. (Though it does provide some\nvery good real-world use examples.)\n\nThis project template is designed for Django startproject template option. This version of the\nproject template is designed for Django 1.8.\n\nAs much as I could, all the code has been updated to use the any suggested layouts\nand functionality in Django 1.8.\n\n[playdoh]: https://github.com/mozilla/playdoh\n[twoscoops]: https://github.com/twoscoops/django-twoscoops-project\n\n## Features ##\n\nBy default, this project template includes:\n\nA set of basic templates built from HTML5Boilerplate 4.1.0 and Twitter Bootstrap 3.2.0 (located in the\nbase app, with css and javascript loaded from CloudFlare CDN by default).\n\nTemplating:\n\n- django_compressor for compressing javascript/css/less/sass\n\nSecurity:\n\n- bleach\n- bcrypt - uses bcrypt for password hashing by default\n\nBackground Tasks:\n\n- Celery\n\nMigrations:\n\n- Django built-in migrations\n\nCaching:\n\n- python-memcached\n\nAdmin:\n\n- Includes django-debug-toolbar for development and production (enabled for superusers)\n\nTesting:\n\n- nose and django-nose\n- pylint, pep8, and coverage\n\nAny of these options can added, modified, or removed as you like after creating your project.\n\n## How to use this project template to create your project ##\n\n- Create your working environment and virtualenv\n- Make sure you have libffi installed ($ sudo apt-get install libffi-dev)\n- Install Django 1.8 ($ pip install Django>=1.8)\n- $ django-admin.py startproject --template https://github.com/xenith/django-base-template/zipball/master --extension py,md,rst projectname\n- $ cd projectname\n- Uncomment your preferred database adapter in requirements/compiled.txt (MySQL, Postgresql, or skip this step to stick with SQLite)\n- $ pip install -r requirements/local.txt\n- $ cp projectname/settings/local-dist.py projectname/settings/local.py\n- $ python manage.py syncdb\n- $ python manage.py migrate\n- $ python manage.py runserver\n\nThat's all you need to do to get the project ready for development. When you deploy your project into production, you should look into getting certain settings from environment variables or other external sources. (See SECRET_KEY for an example.)\n\nThere isn't a need to add settings/local.py to your source control, but there are multiple schools of thought on this. The method I use here is an example where each developer has their own settings/local.py with machine-specific settings. You will also need to create a version of settings/local.py for use in production that you will put into place with your deployment system (Fabric, chef, puppet, etc).\n\nThe second school of thought is that all settings should be versioned, so that as much of the code/settings as possible is the same across all developers and test/production servers. If you prefer this method, then make sure *all* necessary settings are properly set in settings/base.py, and then edit settings/__init__.py so it no longer reraises the exception. (ie, by replacing 'raise' with 'pass'). As it is, settings/local.py should only be overriding settings from settings/base.py anyway. (You could also just set the DJANGO_SETTINGS_MODULE environment variable to \"{{ project_name }}.settings.base\" directly.)\n\n## Python 3 compatibility ##\n\nAll the code provided in the template itself is compatible with Python 3. Unfortunately, there are still a number of libraries that do not work under Python 3. If you want to use this template under Python 3, you will need to either remove those libraries or find replacements for them.\n\nThe libraries I am aware of that do not support Python 3:\n\n* python-memcached (use python3-memcached)\n\n{% endif %}\n# The {{ project_name|title }} Project #\n\n## About ##\n\nDescribe your project here.\n\n## Prerequisites ##\n\n- Python 2.7, 3.4 recommended\n- pip\n- virtualenv (virtualenvwrapper is recommended for use during development)\n\n## Installation ##\n\nFill out with installation instructions for your project.\n\n\nLicense\n-------\nThis software is licensed under the [New BSD License][BSD]. For more\ninformation, read the file ``LICENSE``.\n\n[BSD]: http://opensource.org/licenses/BSD-3-Clause\n"
  },
  {
    "path": "Vagrantfile",
    "content": "# -*- mode: ruby -*-\n# vi: set ft=ruby :\n\nVagrant.configure(\"2\") do |config|\n    config.vm.box = \"precise64\"\n    config.vm.box_url = \"http://files.vagrantup.com/precise64.box\"\n\n    config.vm.network :forwarded_port, guest: 8000, host: 8000\n\n    # # Add to /etc/hosts: 33.33.33.24 dev.example.com\n    # config.vm.network :hostonly, \"33.33.33.24\"\n\n    # provision with simple shell script\n    config.vm.provision \"shell\", path: \"install_requirements.sh\"\nend\n"
  },
  {
    "path": "base/__init__.py",
    "content": "\"\"\"Application base, containing global templates.\"\"\"\n"
  },
  {
    "path": "base/models.py",
    "content": "\"\"\" Basic models, such as user profile \"\"\"\n"
  },
  {
    "path": "base/static/crossdomain.xml",
    "content": "<?xml version=\"1.0\"?>\n<!DOCTYPE cross-domain-policy SYSTEM \"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd\">\n<cross-domain-policy>\n    <!-- Read this: www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html -->\n\n    <!-- Most restrictive policy: -->\n    <site-control permitted-cross-domain-policies=\"none\"/>\n\n    <!-- Least restrictive policy: -->\n    <!--\n    <site-control permitted-cross-domain-policies=\"all\"/>\n    <allow-access-from domain=\"*\" to-ports=\"*\" secure=\"false\"/>\n    <allow-http-request-headers-from domain=\"*\" headers=\"*\" secure=\"false\"/>\n    -->\n</cross-domain-policy>\n"
  },
  {
    "path": "base/static/css/app.css",
    "content": "/* =============================================================================\n   App specific CSS file.\n\n   This is usually where the site/app's CSS specific rules are setup. Note that you could\n   do exactly the same using less by adding a '@import \"app.less\";' at the end of\n   css/less/bootstrap.less file.\n\n   ========================================================================== */\n"
  },
  {
    "path": "base/static/css/h5bp.css",
    "content": "/*\n * HTML5 Boilerplate\n *\n * What follows is the result of much research on cross-browser styling.\n * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,\n * Kroc Camen, and the H5BP dev community and team.\n *\n * Detailed information about this CSS: h5bp.com/css\n *\n * ==|== normalize ==========================================================\n */\n\n\n/* =============================================================================\n   HTML5 display definitions\n   ========================================================================== */\n\narticle, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }\naudio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }\naudio:not([controls]) { display: none; }\n[hidden] { display: none; }\n\n\n/* =============================================================================\n   Base\n   ========================================================================== */\n\n/*\n * 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units\n * 2. Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g\n */\n\nhtml { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }\n\nhtml, button, input, select, textarea { font-family: sans-serif; color: #222; }\n\nbody { margin: 0; font-size: 1em; line-height: 1.4; }\n\n/*\n * Remove text-shadow in selection highlight: h5bp.com/i\n * These selection declarations have to be separate\n * Also: hot pink! (or customize the background color to match your design)\n */\n\n::-moz-selection { background: #fe57a1; color: #fff; text-shadow: none; }\n::selection { background: #fe57a1; color: #fff; text-shadow: none; }\n\n\n/* =============================================================================\n   Links\n   ========================================================================== */\n\na { color: #00e; }\na:visited { color: #551a8b; }\na:hover { color: #06e; }\na:focus { outline: thin dotted; }\n\n/* Improve readability when focused and hovered in all browsers: h5bp.com/h */\na:hover, a:active { outline: 0; }\n\n\n/* =============================================================================\n   Typography\n   ========================================================================== */\n\nabbr[title] { border-bottom: 1px dotted; }\n\nb, strong { font-weight: bold; }\n\nblockquote { margin: 1em 40px; }\n\ndfn { font-style: italic; }\n\nhr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }\n\nins { background: #ff9; color: #000; text-decoration: none; }\n\nmark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }\n\n/* Redeclare monospace font family: h5bp.com/j */\npre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }\n\n/* Improve readability of pre-formatted text in all browsers */\npre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }\n\nq { quotes: none; }\nq:before, q:after { content: \"\"; content: none; }\n\nsmall { font-size: 85%; }\n\n/* Position subscript and superscript content without affecting line-height: h5bp.com/k */\nsub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }\nsup { top: -0.5em; }\nsub { bottom: -0.25em; }\n\n\n/* =============================================================================\n   Lists\n   ========================================================================== */\n\nul, ol { margin: 1em 0; padding: 0 0 0 40px; }\ndd { margin: 0 0 0 40px; }\nnav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }\n\n\n/* =============================================================================\n   Embedded content\n   ========================================================================== */\n\n/*\n * 1. Improve image quality when scaled in IE7: h5bp.com/d\n * 2. Remove the gap between images and borders on image containers: h5bp.com/i/440\n */\n\nimg { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }\n\n/*\n * Correct overflow not hidden in IE9\n */\n\nsvg:not(:root) { overflow: hidden; }\n\n\n/* =============================================================================\n   Figures\n   ========================================================================== */\n\nfigure { margin: 0; }\n\n\n/* =============================================================================\n   Forms\n   ========================================================================== */\n\nform { margin: 0; }\nfieldset { border: 0; margin: 0; padding: 0; }\n\n/* Indicate that 'label' will shift focus to the associated form element */\nlabel { cursor: pointer; }\n\n/*\n * 1. Correct color not inheriting in IE6/7/8/9\n * 2. Correct alignment displayed oddly in IE6/7\n */\n\nlegend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }\n\n/*\n * 1. Correct font-size not inheriting in all browsers\n * 2. Remove margins in FF3/4 S5 Chrome\n * 3. Define consistent vertical alignment display in all browsers\n */\n\nbutton, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }\n\n/*\n * 1. Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet)\n */\n\nbutton, input { line-height: normal; }\n\n/*\n * 1. Display hand cursor for clickable form elements\n * 2. Allow styling of clickable form elements in iOS\n * 3. Correct inner spacing displayed oddly in IE7 (doesn't effect IE6)\n */\n\nbutton, input[type=\"button\"], input[type=\"reset\"], input[type=\"submit\"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }\n\n/*\n * Re-set default cursor for disabled elements\n */\n\nbutton[disabled], input[disabled] { cursor: default; }\n\n/*\n * Consistent box sizing and appearance\n */\n\ninput[type=\"checkbox\"], input[type=\"radio\"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; }\ninput[type=\"search\"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }\ninput[type=\"search\"]::-webkit-search-decoration, input[type=\"search\"]::-webkit-search-cancel-button { -webkit-appearance: none; }\n\n/*\n * Remove inner padding and border in FF3/4: h5bp.com/l\n */\n\nbutton::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }\n\n/*\n * 1. Remove default vertical scrollbar in IE6/7/8/9\n * 2. Allow only vertical resizing\n */\n\ntextarea { overflow: auto; vertical-align: top; resize: vertical; }\n\n/* Colors for form validity */\ninput:valid, textarea:valid {  }\ninput:invalid, textarea:invalid { background-color: #f0dddd; }\n\n\n/* =============================================================================\n   Tables\n   ========================================================================== */\n\ntable { border-collapse: collapse; border-spacing: 0; }\ntd { vertical-align: top; }\n\n\n/* =============================================================================\n   Chrome Frame Prompt\n   ========================================================================== */\n\n.chromeframe { margin: 0.2em 0; background: #ccc; color: black; padding: 0.2em 0; }\n\n\n/* ==|== primary styles =====================================================\n   Author:\n   ========================================================================== */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* ==|== media queries ======================================================\n   EXAMPLE Media Query for Responsive Design.\n   This example overrides the primary ('mobile first') styles\n   Modify as content requires.\n   ========================================================================== */\n\n@media only screen and (min-width: 35em) {\n  /* Style adjustments for viewports that meet the condition */\n}\n\n\n\n/* ==|== non-semantic helper classes ========================================\n   Please define your styles before this section.\n   ========================================================================== */\n\n/* For image replacement */\n.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; }\n.ir br { display: none; }\n\n/* Hide from both screenreaders and browsers: h5bp.com/u */\n.hidden { display: none !important; visibility: hidden; }\n\n/* Hide only visually, but have it available for screenreaders: h5bp.com/v */\n.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }\n\n/* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: h5bp.com/p */\n.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }\n\n/* Hide visually and from screenreaders, but maintain layout */\n.invisible { visibility: hidden; }\n\n/* Contain floats: h5bp.com/q */\n.clearfix:before, .clearfix:after { content: \"\"; display: table; }\n.clearfix:after { clear: both; }\n.clearfix { *zoom: 1; }\n\n\n\n/* ==|== print styles =======================================================\n   Print styles.\n   Inlined to avoid required HTTP connection: h5bp.com/r\n   ========================================================================== */\n\n@media print {\n  * { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */\n  a, a:visited { text-decoration: underline; }\n  a[href]:after { content: \" (\" attr(href) \")\"; }\n  abbr[title]:after { content: \" (\" attr(title) \")\"; }\n  .ir a:after, a[href^=\"javascript:\"]:after, a[href^=\"#\"]:after { content: \"\"; }  /* Don't show links for images, or javascript/internal links */\n  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }\n  thead { display: table-header-group; } /* h5bp.com/t */\n  tr, img { page-break-inside: avoid; }\n  img { max-width: 100% !important; }\n  @page { margin: 0.5cm; }\n  p, h2, h3 { orphans: 3; widows: 3; }\n  h2, h3 { page-break-after: avoid; }\n}\n"
  },
  {
    "path": "base/static/css/style.css",
    "content": "/* =============================================================================\n   CSS App imports.\n\n   These imports are inlined and minified by the build script. If\n   you don't intend to use a build script, do not use @import\n   statements. Use a single style.css file with bootstrap's style first,\n   then your specific CSS files.\n\n   Following assumes an app.css to put specific CSS rules.\n\n   Both unminified and minified version of bootstrap's css will be generated by the\n   less script command. You may want to switch the bootstrap.css to bootstrap.min.css\n\n   ========================================================================== */\n\n@import url('bootstrap.css');\n@import url('bootstrap-responsive.css');\n@import url('app.css');\n\n"
  },
  {
    "path": "base/static/humans.txt",
    "content": "# humanstxt.org/\n# The humans responsible & technology colophon\n\n# TEAM\n\n    <name> -- <role> -- <twitter>\n\n# THANKS\n\n    <name>\n\n# TECHNOLOGY COLOPHON\n\n    HTML5, CSS3\n    jQuery, Modernizr\n"
  },
  {
    "path": "base/static/js/main.js",
    "content": "\n"
  },
  {
    "path": "base/static/js/plugins.js",
    "content": "// Avoid `console` errors in browsers that lack a console.\n(function() {\n    var method;\n    var noop = function () {};\n    var methods = [\n        'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',\n        'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',\n        'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',\n        'timeStamp', 'trace', 'warn'\n    ];\n    var length = methods.length;\n    var console = (window.console = window.console || {});\n\n    while (length--) {\n        method = methods[length];\n\n        // Only stub undefined methods.\n        if (!console[method]) {\n            console[method] = noop;\n        }\n    }\n}());\n\n// Place any jQuery/helper plugins in here.\n"
  },
  {
    "path": "base/static/robots.txt",
    "content": "# robotstxt.org/\n\nUser-agent: *\n"
  },
  {
    "path": "base/templates/403.html",
    "content": "<!doctype html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"utf-8\">\n  <title>Forbidden :(</title>\n  <style>\n    ::-moz-selection { background: #fe57a1; color: #fff; text-shadow: none; }\n    ::selection { background: #fe57a1; color: #fff; text-shadow: none; }\n    html { padding: 30px 10px; font-size: 20px; line-height: 1.4; color: #737373; background: #f0f0f0; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }\n    html, input { font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; }\n    body { max-width: 500px; _width: 500px; padding: 30px 20px 50px; border: 1px solid #b3b3b3; border-radius: 4px; margin: 0 auto; box-shadow: 0 1px 10px #a7a7a7, inset 0 1px 0 #fff; background: #fcfcfc; }\n    h1 { margin: 0 10px; font-size: 50px; text-align: center; }\n    h1 span { color: #bbb; }\n    h3 { margin: 1.5em 0 0.5em; }\n    p { margin: 1em 0; }\n    ul { padding: 0 0 0 40px; margin: 1em 0; }\n    .container { max-width: 380px; _width: 380px; margin: 0 auto; }\n    /* google search */\n    #goog-fixurl ul { list-style: none; padding: 0; margin: 0; }\n    #goog-fixurl form { margin: 0; }\n    #goog-wm-qt, #goog-wm-sb { border: 1px solid #bbb; font-size: 16px; line-height: normal; vertical-align: top; color: #444; border-radius: 2px; }\n    #goog-wm-qt { width: 220px; height: 20px; padding: 5px; margin: 5px 10px 0 0; box-shadow: inset 0 1px 1px #ccc; }\n    #goog-wm-sb { display: inline-block; height: 32px; padding: 0 10px; margin: 5px 0 0; white-space: nowrap; cursor: pointer; background-color: #f5f5f5; background-image: -webkit-linear-gradient(rgba(255,255,255,0), #f1f1f1); background-image: -moz-linear-gradient(rgba(255,255,255,0), #f1f1f1); background-image: -ms-linear-gradient(rgba(255,255,255,0), #f1f1f1); background-image: -o-linear-gradient(rgba(255,255,255,0), #f1f1f1); -webkit-appearance: none; -moz-appearance: none; appearance: none; *overflow: visible; *display: inline; *zoom: 1; }\n    #goog-wm-sb:hover, #goog-wm-sb:focus { border-color: #aaa; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); background-color: #f8f8f8; }\n    #goog-wm-qt:focus, #goog-wm-sb:focus { border-color: #105cb6; outline: 0; color: #222; }\n    input::-moz-focus-inner { padding: 0; border: 0; }\n  </style>\n</head>\n<body>\n  <div class=\"container\">\n    <h1>Forbidden <span>:(</span></h1>\n    <p>Sorry, but your request was forbidden by the server.</p>\n  </div>\n"
  },
  {
    "path": "base/templates/404.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n    <head>\n        <meta charset=\"utf-8\">\n        <title>Page Not Found :(</title>\n        <style>\n            ::-moz-selection {\n                background: #b3d4fc;\n                text-shadow: none;\n            }\n\n            ::selection {\n                background: #b3d4fc;\n                text-shadow: none;\n            }\n\n            html {\n                padding: 30px 10px;\n                font-size: 20px;\n                line-height: 1.4;\n                color: #737373;\n                background: #f0f0f0;\n                -webkit-text-size-adjust: 100%;\n                -ms-text-size-adjust: 100%;\n            }\n\n            html,\n            input {\n                font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n            }\n\n            body {\n                max-width: 500px;\n                _width: 500px;\n                padding: 30px 20px 50px;\n                border: 1px solid #b3b3b3;\n                border-radius: 4px;\n                margin: 0 auto;\n                box-shadow: 0 1px 10px #a7a7a7, inset 0 1px 0 #fff;\n                background: #fcfcfc;\n            }\n\n            h1 {\n                margin: 0 10px;\n                font-size: 50px;\n                text-align: center;\n            }\n\n            h1 span {\n                color: #bbb;\n            }\n\n            h3 {\n                margin: 1.5em 0 0.5em;\n            }\n\n            p {\n                margin: 1em 0;\n            }\n\n            ul {\n                padding: 0 0 0 40px;\n                margin: 1em 0;\n            }\n\n            .container {\n                max-width: 380px;\n                _width: 380px;\n                margin: 0 auto;\n            }\n\n            /* google search */\n\n            #goog-fixurl ul {\n                list-style: none;\n                padding: 0;\n                margin: 0;\n            }\n\n            #goog-fixurl form {\n                margin: 0;\n            }\n\n            #goog-wm-qt,\n            #goog-wm-sb {\n                border: 1px solid #bbb;\n                font-size: 16px;\n                line-height: normal;\n                vertical-align: top;\n                color: #444;\n                border-radius: 2px;\n            }\n\n            #goog-wm-qt {\n                width: 220px;\n                height: 20px;\n                padding: 5px;\n                margin: 5px 10px 0 0;\n                box-shadow: inset 0 1px 1px #ccc;\n            }\n\n            #goog-wm-sb {\n                display: inline-block;\n                height: 32px;\n                padding: 0 10px;\n                margin: 5px 0 0;\n                white-space: nowrap;\n                cursor: pointer;\n                background-color: #f5f5f5;\n                background-image: -webkit-linear-gradient(rgba(255,255,255,0), #f1f1f1);\n                background-image: -moz-linear-gradient(rgba(255,255,255,0), #f1f1f1);\n                background-image: -ms-linear-gradient(rgba(255,255,255,0), #f1f1f1);\n                background-image: -o-linear-gradient(rgba(255,255,255,0), #f1f1f1);\n                -webkit-appearance: none;\n                -moz-appearance: none;\n                appearance: none;\n                *overflow: visible;\n                *display: inline;\n                *zoom: 1;\n            }\n\n            #goog-wm-sb:hover,\n            #goog-wm-sb:focus {\n                border-color: #aaa;\n                box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);\n                background-color: #f8f8f8;\n            }\n\n            #goog-wm-qt:hover,\n            #goog-wm-qt:focus {\n                border-color: #105cb6;\n                outline: 0;\n                color: #222;\n            }\n\n            input::-moz-focus-inner {\n                padding: 0;\n                border: 0;\n            }\n        </style>\n    </head>\n    <body>\n        <div class=\"container\">\n            <h1>Not found <span>:(</span></h1>\n            <p>Sorry, but the page you were trying to view does not exist.</p>\n            <p>It looks like this was the result of either:</p>\n            <ul>\n                <li>a mistyped address</li>\n                <li>an out-of-date link</li>\n            </ul>\n            <script>\n                var GOOG_FIXURL_LANG = (navigator.language || '').slice(0,2),GOOG_FIXURL_SITE = location.host;\n            </script>\n            <script src=\"http://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js\"></script>\n        </div>\n    </body>\n</html>\n"
  },
  {
    "path": "base/templates/500.html",
    "content": "<!doctype html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"utf-8\">\n  <title>Server Error</title>\n  <style>\n    ::-moz-selection { background: #fe57a1; color: #fff; text-shadow: none; }\n    ::selection { background: #fe57a1; color: #fff; text-shadow: none; }\n    html { padding: 30px 10px; font-size: 20px; line-height: 1.4; color: #737373; background: #f0f0f0; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }\n    html, input { font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; }\n    body { max-width: 500px; _width: 500px; padding: 30px 20px 50px; border: 1px solid #b3b3b3; border-radius: 4px; margin: 0 auto; box-shadow: 0 1px 10px #a7a7a7, inset 0 1px 0 #fff; background: #fcfcfc; }\n    h1 { margin: 0 10px; font-size: 50px; text-align: center; }\n    h1 span { color: #bbb; }\n    h3 { margin: 1.5em 0 0.5em; }\n    p { margin: 1em 0; }\n    ul { padding: 0 0 0 40px; margin: 1em 0; }\n    .container { max-width: 380px; _width: 380px; margin: 0 auto; }\n    /* google search */\n    #goog-fixurl ul { list-style: none; padding: 0; margin: 0; }\n    #goog-fixurl form { margin: 0; }\n    #goog-wm-qt, #goog-wm-sb { border: 1px solid #bbb; font-size: 16px; line-height: normal; vertical-align: top; color: #444; border-radius: 2px; }\n    #goog-wm-qt { width: 220px; height: 20px; padding: 5px; margin: 5px 10px 0 0; box-shadow: inset 0 1px 1px #ccc; }\n    #goog-wm-sb { display: inline-block; height: 32px; padding: 0 10px; margin: 5px 0 0; white-space: nowrap; cursor: pointer; background-color: #f5f5f5; background-image: -webkit-linear-gradient(rgba(255,255,255,0), #f1f1f1); background-image: -moz-linear-gradient(rgba(255,255,255,0), #f1f1f1); background-image: -ms-linear-gradient(rgba(255,255,255,0), #f1f1f1); background-image: -o-linear-gradient(rgba(255,255,255,0), #f1f1f1); -webkit-appearance: none; -moz-appearance: none; appearance: none; *overflow: visible; *display: inline; *zoom: 1; }\n    #goog-wm-sb:hover, #goog-wm-sb:focus { border-color: #aaa; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); background-color: #f8f8f8; }\n    #goog-wm-qt:focus, #goog-wm-sb:focus { border-color: #105cb6; outline: 0; color: #222; }\n    input::-moz-focus-inner { padding: 0; border: 0; }\n  </style>\n</head>\n<body>\n  <div class=\"container\">\n    <h1>Server Error <span>:(</span></h1>\n    <p>Sorry, but the server encountered an error while processing your request.</p>\n  </div>\n</body>\n</html>\n"
  },
  {
    "path": "base/templates/_layouts/base.html",
    "content": "{% load compress %}\n{% load staticfiles %}\n\n<!doctype html>\n<!--[if lt IE 7]>      <html class=\"no-js lt-ie9 lt-ie8 lt-ie7\"> <![endif]-->\n<!--[if IE 7]>         <html class=\"no-js lt-ie9 lt-ie8\"> <![endif]-->\n<!--[if IE 8]>         <html class=\"no-js lt-ie9\"> <![endif]-->\n<!--[if gt IE 8]><!--> <html class=\"no-js\" lang=\"en\"> <!--<![endif]-->\n<head>\n  <meta charset=\"utf-8\">\n\n  <!-- Use the .htaccess and remove these lines to avoid edge case issues.\n       More info: h5bp.com/i/378 -->\n  <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n\n  <title>{% block page_title %}{{ _(\"Your Site\") }}{% endblock %}</title>\n  <meta name=\"description\" content=\"{% block meta_description %}{% endblock %}\">\n  <meta name=\"author\" content=\"{% block meta_author %}{% endblock %}\">\n\n  <!-- Mobile viewport optimized: h5bp.com/viewport -->\n  <meta name=\"viewport\" content=\"width=device-width\">\n\n  {% block meta %}\n  {% endblock %}\n\n  {# use the CDN to get bootstrap css. can not be inside compress css block #}\n  {% block cdn_css %}\n  <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.2.0/css/bootstrap.min.css\">\n  {% endblock cdn_css %}\n\n  {% compress css %}\n  <link rel=\"stylesheet\" href=\"{% static 'css/app.css' %}\">\n  {% block css %}{% endblock %}\n  {% endcompress %}\n  <!-- More ideas for your <head> here: h5bp.com/d/head-Tips -->\n\n  <!-- All JavaScript at the bottom, except this Modernizr build.\n       Modernizr enables HTML5 elements & feature detects for optimal performance.\n       Create your own custom Modernizr build: www.modernizr.com/download/ -->\n  {% compress js %}\n  <script src=\"{% static 'js/libs/modernizr-2.6.2-respond-1.1.0.min.js' %}\"></script>\n  {% endcompress %}\n</head>\n<body class=\"{% block body_class %}{% endblock %}\" {% block body_attributes %}{% endblock %}>\n{% block body %}\n  <!-- Prompt IE 6 users to install Chrome Frame. Remove this if you support IE 6.\n       chromium.org/developers/how-tos/chrome-frame-getting-started -->\n  <!--[if lt IE 7]>\n    <p class=\"chromeframe\">You are using an <strong>outdated</strong> browser. Please <a href=\"http://browsehappy.com/\">upgrade your browser</a> or <a href=\"http://www.google.com/chromeframe/?redirect=true\">activate Google Chrome Frame</a> to improve your experience.</p>\n  <![endif]-->\n  <header>\n    {% block header %}{% endblock %}\n  </header>\n\n  <div role=\"main\">\n    {% block content %}{% endblock %}\n  </div>\n\n  <footer>\n    {% block footer %}\n    <div class=\"container\">\n      <hr>\n      <p>&copy; Company 2014</p>\n    </div>\n    {% endblock footer %}\n  </footer>\n\n\n  <!-- JavaScript at the bottom for fast page loading -->\n\n  <!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if offline -->\n  {% block cdn_js %}\n  <script src=\"//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js\"></script>\n  <script>window.jQuery || document.write('<script src=\"{{ STATIC_URL }}js/libs/jquery-2.1.1.min.js\"><\\/script>')</script>\n  <script src=\"//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.2.0/js/bootstrap.min.js\"></script>\n  {% endblock cdn_js %}\n\n  <!-- scripts concatenated and minified via django-compressor -->\n  {% compress js %}\n  {% block js %}\n  <script src=\"{% static 'js/main.js' %}\"></script>\n  {% endblock js %}\n  {% endcompress %}\n  <!-- end scripts -->\n\n  <!-- Asynchronous Google Analytics snippet. Change UA-XXXXX-X to be your site's ID.\n       mathiasbynens.be/notes/async-analytics-snippet -->\n  <script>\n    var _gaq=[['_setAccount','UA-XXXXX-X'],['_trackPageview']];\n    (function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];\n    g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';\n    s.parentNode.insertBefore(g,s)}(document,'script'));\n  </script>\n{% endblock %}\n</body>\n</html>\n"
  },
  {
    "path": "base/templates/base/home.html",
    "content": "{% extends \"_layouts/base.html\" %}\n\n{% block css %}\n{{block.super}}\n<style>\n/* Move down content because we have a fixed navbar that is 50px tall */\nbody {\n  padding-top: 50px;\n  padding-bottom: 20px;\n}\n</style>\n{% endblock css %}\n\n{% block page_title %}Your Site - Home{% endblock %}\n{% block page_class %}home-page{% endblock %}\n{% block content %}\n<!-- This code is taken from http://getbootstrap.com/examples/jumbotron/ -->\n\n    <div class=\"navbar navbar-inverse navbar-fixed-top\" role=\"navigation\">\n      <div class=\"container\">\n        <div class=\"navbar-header\">\n          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\".navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n          <a class=\"navbar-brand\" href=\"#\">Project name</a>\n        </div>\n        <div class=\"navbar-collapse collapse\">\n          <form class=\"navbar-form navbar-right\">\n            <div class=\"form-group\">\n              <input type=\"text\" placeholder=\"Email\" class=\"form-control\">\n            </div>\n            <div class=\"form-group\">\n              <input type=\"password\" placeholder=\"Password\" class=\"form-control\">\n            </div>\n            <button type=\"submit\" class=\"btn btn-success\">Sign in</button>\n          </form>\n        </div><!--/.navbar-collapse -->\n      </div>\n    </div>\n\n    <div class=\"jumbotron\">\n      <div class=\"container\">\n        <h1>Hello, world!</h1>\n        <p>This is a template for a simple marketing or informational website. It includes a large callout called a jumbotron and three supporting pieces of content. Use it as a starting point to create something more unique.</p>\n        <p><a class=\"btn btn-primary btn-lg\" role=\"button\">Learn more »</a></p>\n      </div>\n    </div>\n\n    <div class=\"container\">\n      <!-- Example row of columns -->\n      <div class=\"row\">\n        <div class=\"col-md-4\">\n          <h2>Heading</h2>\n          <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>\n          <p><a class=\"btn btn-default\" href=\"#\" role=\"button\">View details »</a></p>\n        </div>\n        <div class=\"col-md-4\">\n          <h2>Heading</h2>\n          <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>\n          <p><a class=\"btn btn-default\" href=\"#\" role=\"button\">View details »</a></p>\n       </div>\n        <div class=\"col-md-4\">\n          <h2>Heading</h2>\n          <p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>\n          <p><a class=\"btn btn-default\" href=\"#\" role=\"button\">View details »</a></p>\n        </div>\n      </div>\n    </div>\n\n{% endblock %}\n"
  },
  {
    "path": "base/urls.py",
    "content": "\"\"\"urlconf for the base application\"\"\"\n\nfrom django.conf.urls import url, patterns\n\n\nurlpatterns = patterns('base.views',\n    url(r'^$', 'home', name='home'),\n)\n"
  },
  {
    "path": "base/views.py",
    "content": "\"\"\" Views for the base application \"\"\"\n\nfrom django.shortcuts import render\n\n\ndef home(request):\n    \"\"\" Default view for the root \"\"\"\n    return render(request, 'base/home.html')\n"
  },
  {
    "path": "bin/git_precommit_pycheck.py",
    "content": "#!/usr/bin/env python\n\n\n# Run this code from project_root/.git/hooks/pre-commit to check your python\n# code with pep8 and pyflakes before commiting it to the repository.\n\n\nimport sys\nimport re\nimport subprocess\n\nmodified = re.compile('modified:\\s+(?P<name>.*\\.py)')\nnew = re.compile('new file:\\s+(?P<name>.*\\.py)')\n\n\ndef main():\n    p = subprocess.Popen(['git', 'status'], stdout=subprocess.PIPE)\n    out, err = p.communicate()\n    modifieds = modified.findall(out.decode())\n    news = new.findall(out.decode())\n\n    modifieds += news\n\n    rrcode = 0\n    for file in set(modifieds):\n        p = subprocess.Popen(['pep8', '--ignore=E501', file],\n                             stdout=subprocess.PIPE)\n        pep8_out, err = p.communicate()\n        p = subprocess.Popen(['pyflakes', file], stdout=subprocess.PIPE)\n        pyflakes_out, err = p.communicate()\n        if pep8_out or pyflakes_out:\n            if pep8_out:\n                print(pep8_out.decode())\n            if pyflakes_out:\n                print(pyflakes_out.decode())\n            rrcode = 1\n\n    sys.exit(rrcode)\n\nif __name__ == '__main__':\n    main()\n"
  },
  {
    "path": "bin/jenkins.sh",
    "content": "#!/bin/sh\n# This script makes sure that Jenkins can properly run your tests against your\n# codebase.\nset -e\n\nDB_HOST=\"localhost\"\nDB_USER=\"hudson\"\n\ncd $WORKSPACE\nVENV=$WORKSPACE/venv\n\necho \"Starting build on executor $EXECUTOR_NUMBER...\"\n\n# Make sure there's no old pyc files around.\nfind . -name '*.pyc' -exec rm {} \\;\n\nif [ ! -d \"$VENV/bin\" ]; then\n  echo \"No virtualenv found.  Making one...\"\n  virtualenv $VENV --no-site-packages\n  source $VENV/bin/activate\n  pip install --upgrade pip\n  pip install coverage\nfi\n\ngit submodule sync -q\ngit submodule update --init --recursive\n\nif [ ! -d \"$WORKSPACE/vendor\" ]; then\n    echo \"No /vendor... crap.\"\n    exit 1\nfi\n\nsource $VENV/bin/activate\npip install -q -r requirements/compiled.txt\npip install -q -r requirements/dev.txt\n\ncat > settings/local.py <<SETTINGS\nfrom settings.base import *\n\nROOT_URLCONF = 'workspace.urls'\nLOG_LEVEL = logging.ERROR\n# Database name has to be set because of sphinx\nDATABASES = {\n    'default': {\n        'ENGINE': 'django.db.backends.mysql',\n        'HOST': '${DB_HOST}',\n        'NAME': '${JOB_NAME}',\n        'USER': 'hudson',\n        'PASSWORD': '',\n        'OPTIONS': {'init_command': 'SET storage_engine=InnoDB'},\n        'TEST_NAME': 'test_${JOB_NAME}',\n        'TEST_CHARSET': 'utf8',\n        'TEST_COLLATION': 'utf8_general_ci',\n    }\n}\n\nINSTALLED_APPS += ('django_nose',)\nCELERY_ALWAYS_EAGER = True\nSETTINGS\n\necho \"Creating database if we need it...\"\necho \"CREATE DATABASE IF NOT EXISTS ${JOB_NAME}\"|mysql -u $DB_USER -h $DB_HOST\n\necho \"Starting tests...\"\nexport FORCE_DB=1\ncoverage run manage.py test --noinput --with-xunit\ncoverage xml $(find apps lib -name '*.py')\n\necho \"FIN\"\n"
  },
  {
    "path": "conf/nginx-mime.types",
    "content": "# this file is used by the nginx.conf\r\n\r\ntypes {\r\n    text/html                             html htm shtml;\r\n    text/css                              css;\r\n    # application/rss+xml causes some browsers to start a download\r\n    text/xml                              rss;\r\n    image/gif                             gif;\r\n    image/jpeg                            jpeg jpg;\r\n    application/json                      json;\r\n    # http://www.rfc-editor.org/rfc/rfc4329.txt\r\n    application/javascript                js;\r\n    application/atom+xml                  atom;\r\n\r\n    text/cache-manifest                   manifest appcache;\r\n    text/mathml                           mml;\r\n    text/plain                            txt;\r\n    text/vnd.sun.j2me.app-descriptor      jad;\r\n    text/vnd.wap.wml                      wml;\r\n    text/x-component                      htc;\r\n\r\n    image/png                             png;\r\n    image/svg+xml                         svg svgz;\r\n    image/tiff                            tif tiff;\r\n    image/vnd.wap.wbmp                    wbmp;\r\n    image/webp                            webp;\r\n    image/x-icon                          ico;\r\n    image/x-jng                           jng;\r\n    image/bmp                             bmp;\r\n\r\n    application/xml                       xml;\r\n    application/java-archive              jar war ear;\r\n    application/mac-binhex40              hqx;\r\n    application/msword                    doc;\r\n    application/pdf                       pdf;\r\n    application/postscript                ps eps ai;\r\n    application/rtf                       rtf;\r\n    application/vnd.ms-excel              xls;\r\n    application/vnd.ms-fontobject         eot;\r\n    application/vnd.ms-powerpoint         ppt;\r\n    application/vnd.wap.wmlc              wmlc;\r\n    application/xhtml+xml                 xhtml;\r\n    application/vnd.google-earth.kml+xml  kml;\r\n    application/vnd.google-earth.kmz      kmz;\r\n    application/x-7z-compressed           7z;\r\n    application/x-chrome-extension        crx;\r\n    application/x-cocoa                   cco;\r\n    application/x-font-ttf                ttf ttc;\r\n    application/x-java-archive-diff       jardiff;\r\n    application/x-java-jnlp-file          jnlp;\r\n    application/x-makeself                run;\r\n    application/x-perl                    pl pm;\r\n    application/x-pilot                   prc pdb;\r\n    application/x-rar-compressed          rar;\r\n    application/x-redhat-package-manager  rpm;\r\n    application/x-sea                     sea;\r\n    application/x-shockwave-flash         swf;\r\n    application/x-stuffit                 sit;\r\n    application/x-tcl                     tcl tk;\r\n    application/x-x509-ca-cert            der pem crt;\r\n    application/x-xpinstall               xpi;\r\n    application/zip                       zip;\r\n\r\n    application/octet-stream              bin exe dll;\r\n    application/octet-stream              deb;\r\n    application/octet-stream              dmg;\r\n    application/octet-stream              iso img;\r\n    application/octet-stream              msi msp msm;\r\n    application/octet-stream              safariextz;\r\n\r\n    audio/midi                            mid midi kar;\r\n    audio/mpeg                            mp3;\r\n    audio/ogg                             oga ogg;\r\n    audio/x-m4a                           m4a;\r\n    audio/x-realaudio                     ra;\r\n    audio/x-wav                           wav;\r\n\r\n    video/3gpp                            3gpp 3gp;\r\n    video/mpeg                            mpeg mpg;\r\n    video/ogg                             ogv;\r\n    video/quicktime                       mov;\r\n    video/webm                            webm;\r\n    video/x-flv                           flv;\r\n    video/x-m4v                           m4v;\r\n    video/x-mng                           mng;\r\n    video/x-ms-asf                        asx asf;\r\n    video/x-ms-wmv                        wmv;\r\n    video/x-msvideo                       avi;\r\n\r\n    font/opentype                         otf;\r\n    font/woff                             woff;\r\n}\r\n"
  },
  {
    "path": "conf/nginx.conf",
    "content": "# Set another default user than root for security reasons\nuser       www-data www-data;\n\n# As a thumb rule: One per CPU. If you are serving a large amount\n# of static files, which requires blocking disk reads, you may want\n# to increase this from the number of cpu_cores available on your\n# system.\n#\n# The maximum number of connections for Nginx is calculated by:\n# max_clients = worker_processes * worker_connections\nworker_processes 1;\n\n# Maximum file descriptors that can be opened per process\n# This should be > worker_connections\nworker_rlimit_nofile 8192;\n\nevents {\n  # When you need > 8000 * cpu_cores connections, you start optimizing\n  # your OS, and this is probably the point at where you hire people\n  # who are smarter than you, this is *a lot* of requests.\n  worker_connections  8000;\n}\n\n# Change these paths to somewhere that suits you!\nerror_log  logs/error.log;\npid        logs/nginx.pid;\n\nhttp {\n  # Set the mime-types via the mime.types external file\n  include       nginx-mime.types;\n\n  # And the fallback mime-type\n  default_type  application/octet-stream;\n\n  # Format for our log files\n  log_format   main '$remote_addr - $remote_user [$time_local]  $status '\n    '\"$request\" $body_bytes_sent \"$http_referer\" '\n    '\"$http_user_agent\" \"$http_x_forwarded_for\"';\n\n  # Click tracking!\n  access_log   logs/access.log  main;\n\n  # ~2 seconds is often enough for HTML/CSS, but connections in\n  # Nginx are cheap, so generally it's safe to increase it\n  keepalive_timeout 20;\n\n  # You usually want to serve static files with Nginx\n  sendfile on;\n\n  tcp_nopush on; # off may be better for Comet/long-poll stuff\n  tcp_nodelay off; # on may be better for Comet/long-poll stuff\n\n  # Enable Gzip:\n  gzip on;\n  gzip_http_version 1.0;\n  gzip_comp_level 5;\n  gzip_min_length 512;\n  gzip_buffers 4 8k;\n  gzip_proxied any;\n  gzip_types\n    # text/html is always compressed by HttpGzipModule\n    text/css\n    text/javascript\n    text/xml\n    text/plain\n    text/x-component\n    application/javascript\n    application/x-javascript\n    application/json\n    application/xml\n    application/rss+xml\n    font/truetype\n    font/opentype\n    application/vnd.ms-fontobject\n    image/svg+xml;\n\n  # This should be turned on if you are going to have pre-compressed copies (.gz) of\n  # static files available. If not it should be left off as it will cause extra I/O\n  # for the check. It would be better to enable this in a location {} block for\n  # a specific directory:\n  # gzip_static on;\n\n  gzip_disable        \"MSIE [1-6]\\.\";\n  gzip_vary           on;\n\n  server {\n    # listen 80 default_server deferred; # for Linux\n    # listen 80 default_server accept_filter=httpready; # for FreeBSD\n    listen 80 default_server;\n\n    # e.g. \"localhost\" to accept all connections, or \"www.example.com\"\n    # to handle the requests for \"example.com\" (and www.example.com)\n    # server_name www.example.com;\n\n    # Path for static files\n    root /sites/example.com/public;\n\n    #Specify a charset\n    charset utf-8;\n\n    # Custom 404 page\n    error_page 404 /404.html;\n\n    # Custom 500 page\n    error_page 500 /500.html;\n\n    # No default expire rule. This config mirrors that of apache as outlined in the\n    # html5-boilerplate .htaccess file. However, nginx applies rules by location, the apache rules\n    # are defined by type. A concequence of this difference is that if you use no file extension in\n    # the url and serve html, with apache you get an expire time of 0s, with nginx you'd get an\n    # expire header of one month in the future (if the default expire rule is 1 month).\n    # Therefore, do not use a default expire rule with nginx unless your site is completely static\n\n    # cache.appcache, your document html and data\n    location ~* \\.(?:manifest|appcache|html|xml|json)$ {\n      expires -1;\n      access_log logs/static.log;\n    }\n\n    # Feed\n    location ~* \\.(?:rss|atom)$ {\n      expires 1h;\n      add_header Cache-Control \"public\";\n    }\n\n    # Favicon\n    location ~* \\.ico$ {\n      expires 1w;\n      access_log off;\n      add_header Cache-Control \"public\";\n    }\n\n    # Media: images, video, audio, HTC, WebFonts\n    location ~* \\.(?:jpg|jpeg|gif|png|ico|gz|svg|svgz|ttf|otf|woff|eot|mp4|ogg|ogv|webm)$ {\n      expires 1M;\n      access_log off;\n      add_header Cache-Control \"public\";\n    }\n\n    # CSS and Javascript\n    location ~* \\.(?:css|js)$ {\n      expires 1y;\n      access_log off;\n      add_header Cache-Control \"public\";\n    }\n\n    location ~ /(static|media)/(.*)$ {\n        alias $PROJECT_ROOT/$1/$2;\n    }\n\n    # uWSGI configuration\n    # location / {\n    #   uwsgi_pass unix:///var/run/$PROJECT_NAME.sock;\n    #   include uwsgi_params;\n    # }\n\n    # opt-in to the future\n    add_header \"X-UA-Compatible\" \"IE=Edge,chrome=1\";\n\n  }\n}\n\n"
  },
  {
    "path": "conf/supervisord.conf",
    "content": "[program:uwsgi]\ncommand = env/bin/uwsgi -ini conf/uwsgi.ini\nautostart = true\nautorestart = true\nredirect_stderr = true\nstopsignal = QUIT\n\n[supervisord]\nlogfile = log/supervisord.log\nlogfile_maxbytes = 10MB\nlogfile_backups = 5\nloglevel = info\npidfile = run/supervisord.pid\n\n[supervisorctl]\nserverurl = unix://run/supervisor.sock\n\n[unix_http_server]\nfile = run/supervisor.sock\nchmod = 0777\n\n[rpcinterface:supervisor]\nsupervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface\n"
  },
  {
    "path": "conf/upstart.conf",
    "content": "description \"uWSGI for MyProject\"\n\nstart on runlevel [2345]\nstop on runlevel [!2345]\n\nkill timeout 5\nrespawn\n\nenv VENV=\"\"\nenv SITE=\"\"\n\nscript\nexec sudo -u www-data $VENV/bin/uwsgi -c $SITE/conf/uwsgi.ini\nend script\n"
  },
  {
    "path": "conf/uwsgi.ini",
    "content": "[uwsgi]\nsocket = /var/run/$PROJECT_NAME.sock\nmaster = true\nprocesses = 4\nmax-requests = 1000\nharakiri = 30\npost-buffering = 8192\nlogto = log/uwsgi.log\nreaper = true\ndisable-logging = true\nchmod-socket = 666\nenv = DJANGO_SETTINGS_MODULE=$PROJECT_NAME.settings\nmodule = $PROJECT_NAME.wsgi\npythonpath = $PROJECT_NAME\n\n"
  },
  {
    "path": "docs/Makefile",
    "content": "# Makefile for Sphinx documentation\n#\n\n# You can set these variables from the command line.\nSPHINXOPTS    =\nSPHINXBUILD   = sphinx-build\nPAPER         =\nBUILDDIR      = _build\n\n# Internal variables.\nPAPEROPT_a4     = -D latex_paper_size=a4\nPAPEROPT_letter = -D latex_paper_size=letter\nALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .\n\n.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest\n\nhelp:\n\t@echo \"Please use \\`make <target>' where <target> is one of\"\n\t@echo \"  html       to make standalone HTML files\"\n\t@echo \"  dirhtml    to make HTML files named index.html in directories\"\n\t@echo \"  singlehtml to make a single large HTML file\"\n\t@echo \"  pickle     to make pickle files\"\n\t@echo \"  json       to make JSON files\"\n\t@echo \"  htmlhelp   to make HTML files and a HTML help project\"\n\t@echo \"  qthelp     to make HTML files and a qthelp project\"\n\t@echo \"  devhelp    to make HTML files and a Devhelp project\"\n\t@echo \"  epub       to make an epub\"\n\t@echo \"  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter\"\n\t@echo \"  latexpdf   to make LaTeX files and run them through pdflatex\"\n\t@echo \"  text       to make text files\"\n\t@echo \"  man        to make manual pages\"\n\t@echo \"  changes    to make an overview of all changed/added/deprecated items\"\n\t@echo \"  linkcheck  to check all external links for integrity\"\n\t@echo \"  doctest    to run all doctests embedded in the documentation (if enabled)\"\n\nclean:\n\t-rm -rf $(BUILDDIR)/*\n\nhtml:\n\t$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html\n\t@echo\n\t@echo \"Build finished. The HTML pages are in $(BUILDDIR)/html.\"\n\ndirhtml:\n\t$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml\n\t@echo\n\t@echo \"Build finished. The HTML pages are in $(BUILDDIR)/dirhtml.\"\n\nsinglehtml:\n\t$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml\n\t@echo\n\t@echo \"Build finished. The HTML page is in $(BUILDDIR)/singlehtml.\"\n\npickle:\n\t$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle\n\t@echo\n\t@echo \"Build finished; now you can process the pickle files.\"\n\njson:\n\t$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json\n\t@echo\n\t@echo \"Build finished; now you can process the JSON files.\"\n\nhtmlhelp:\n\t$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp\n\t@echo\n\t@echo \"Build finished; now you can run HTML Help Workshop with the\" \\\n\t      \".hhp project file in $(BUILDDIR)/htmlhelp.\"\n\nqthelp:\n\t$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp\n\t@echo\n\t@echo \"Build finished; now you can run \"qcollectiongenerator\" with the\" \\\n\t      \".qhcp project file in $(BUILDDIR)/qthelp, like this:\"\n\t@echo \"# qcollectiongenerator $(BUILDDIR)/qthelp/myproject.qhcp\"\n\t@echo \"To view the help file:\"\n\t@echo \"# assistant -collectionFile $(BUILDDIR)/qthelp/myproject.qhc\"\n\ndevhelp:\n\t$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp\n\t@echo\n\t@echo \"Build finished.\"\n\t@echo \"To view the help file:\"\n\t@echo \"# mkdir -p $$HOME/.local/share/devhelp/myproject\"\n\t@echo \"# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/myproject\"\n\t@echo \"# devhelp\"\n\nepub:\n\t$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub\n\t@echo\n\t@echo \"Build finished. The epub file is in $(BUILDDIR)/epub.\"\n\nlatex:\n\t$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex\n\t@echo\n\t@echo \"Build finished; the LaTeX files are in $(BUILDDIR)/latex.\"\n\t@echo \"Run \\`make' in that directory to run these through (pdf)latex\" \\\n\t      \"(use \\`make latexpdf' here to do that automatically).\"\n\nlatexpdf:\n\t$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex\n\t@echo \"Running LaTeX files through pdflatex...\"\n\tmake -C $(BUILDDIR)/latex all-pdf\n\t@echo \"pdflatex finished; the PDF files are in $(BUILDDIR)/latex.\"\n\ntext:\n\t$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text\n\t@echo\n\t@echo \"Build finished. The text files are in $(BUILDDIR)/text.\"\n\nman:\n\t$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man\n\t@echo\n\t@echo \"Build finished. The manual pages are in $(BUILDDIR)/man.\"\n\nchanges:\n\t$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes\n\t@echo\n\t@echo \"The overview file is in $(BUILDDIR)/changes.\"\n\nlinkcheck:\n\t$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck\n\t@echo\n\t@echo \"Link check complete; look for any errors in the above output \" \\\n\t      \"or in $(BUILDDIR)/linkcheck/output.txt.\"\n\ndoctest:\n\t$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest\n\t@echo \"Testing of doctests in the sources finished, look at the \" \\\n\t      \"results in $(BUILDDIR)/doctest/output.txt.\"\n"
  },
  {
    "path": "docs/__init__.py",
    "content": ""
  },
  {
    "path": "docs/_static/.keep",
    "content": ""
  },
  {
    "path": "docs/_templates/.keep",
    "content": ""
  },
  {
    "path": "docs/build-github.zsh",
    "content": "#!/bin/zsh\n\n# A useful build script for projects hosted on github:\n# It can build your Sphinx docs and push them straight to your gh-pages branch.\n\n# Should be run from the docs directory: (cd docs && ./build-github.zsh)\n\nREPO=$(git config remote.origin.url)\nHERE=$(dirname $0)\nGH=$HERE/_gh-pages\n\n\n# Checkout the gh-pages branch, if necessary.\nif [[ ! -d $GH ]]; then\n    git clone $REPO $GH\n    pushd $GH\n    git checkout -b gh-pages origin/gh-pages\n    popd\nfi\n\n# Update and clean out the _gh-pages target dir.\npushd $GH\ngit pull && rm -rf *\npopd\n\n# Make a clean build.\npushd $HERE\nmake clean dirhtml\n\n# Move the fresh build over.\ncp -r _build/dirhtml/* $GH\npushd $GH\n\n# Commit.\ngit add .\ngit commit -am \"gh-pages build on $(date)\"\ngit push origin gh-pages\n\npopd\npopd\n"
  },
  {
    "path": "docs/conf.py",
    "content": "# -*- coding: utf-8 -*-\n#\n# project documentation build configuration file, created by\n# sphinx-quickstart on Tue Jan  4 15:11:09 2011.\n#\n# This file is execfile()d with the current directory set to its containing dir.\n#\n# Note that not all possible configuration values are present in this\n# autogenerated file.\n#\n# All configuration values have a default; values that are commented out\n# serve to show the default.\n\nimport sys, os\n\n# If extensions (or modules to document with autodoc) are in another directory,\n# add these directories to sys.path here. If the directory is relative to the\n# documentation root, use os.path.abspath to make it absolute, like shown here.\n#sys.path.insert(0, os.path.abspath('.'))\n\n# -- General configuration -----------------------------------------------------\n\n# If your documentation needs a minimal Sphinx version, state it here.\n#needs_sphinx = '1.0'\n\n# Add any Sphinx extension module names here, as strings. They can be extensions\n# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.\nextensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.intersphinx', 'sphinx.ext.todo', 'sphinx.ext.coverage']\n\n# Add any paths that contain templates here, relative to this directory.\ntemplates_path = ['_templates']\n\n# The suffix of source filenames.\nsource_suffix = '.rst'\n\n# The encoding of source files.\n#source_encoding = 'utf-8-sig'\n\n# The master toctree document.\nmaster_doc = 'index'\n\n# General information about the project.\nproject = u'a django-based project'\ncopyright = u'2012, the authors'\n\n# The version info for the project you're documenting, acts as replacement for\n# |version| and |release|, also used in various other places throughout the\n# built documents.\n#\n# The short X.Y version.\nversion = '1.0'\n# The full version, including alpha/beta/rc tags.\nrelease = '1.0'\n\n# The language for content autogenerated by Sphinx. Refer to documentation\n# for a list of supported languages.\n#language = None\n\n# There are two options for replacing |today|: either, you set today to some\n# non-false value, then it is used:\n#today = ''\n# Else, today_fmt is used as the format for a strftime call.\n#today_fmt = '%B %d, %Y'\n\n# List of patterns, relative to source directory, that match files and\n# directories to ignore when looking for source files.\nexclude_patterns = ['_build']\n\n# The reST default role (used for this markup: `text`) to use for all documents.\n#default_role = None\n\n# If true, '()' will be appended to :func: etc. cross-reference text.\n#add_function_parentheses = True\n\n# If true, the current module name will be prepended to all description\n# unit titles (such as .. function::).\n#add_module_names = True\n\n# If true, sectionauthor and moduleauthor directives will be shown in the\n# output. They are ignored by default.\n#show_authors = False\n\n# The name of the Pygments (syntax highlighting) style to use.\npygments_style = 'sphinx'\n\n# A list of ignored prefixes for module index sorting.\n#modindex_common_prefix = []\n\n\n# -- Options for HTML output ---------------------------------------------------\n\n# The theme to use for HTML and HTML Help pages.  See the documentation for\n# a list of builtin themes.\nhtml_theme = 'default'\n\n# Theme options are theme-specific and customize the look and feel of a theme\n# further.  For a list of options available for each theme, see the\n# documentation.\n#html_theme_options = {}\n\n# Add any paths that contain custom themes here, relative to this directory.\n#html_theme_path = []\n\n# The name for this set of Sphinx documents.  If None, it defaults to\n# \"<project> v<release> documentation\".\n#html_title = None\n\n# A shorter title for the navigation bar.  Default is the same as html_title.\n#html_short_title = None\n\n# The name of an image file (relative to this directory) to place at the top\n# of the sidebar.\n#html_logo = None\n\n# The name of an image file (within the static path) to use as favicon of the\n# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32\n# pixels large.\n#html_favicon = None\n\n# Add any paths that contain custom static files (such as style sheets) here,\n# relative to this directory. They are copied after the builtin static files,\n# so a file named \"default.css\" will overwrite the builtin \"default.css\".\nhtml_static_path = ['_static']\n\n# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,\n# using the given strftime format.\n#html_last_updated_fmt = '%b %d, %Y'\n\n# If true, SmartyPants will be used to convert quotes and dashes to\n# typographically correct entities.\n#html_use_smartypants = True\n\n# Custom sidebar templates, maps document names to template names.\n#html_sidebars = {}\n\n# Additional templates that should be rendered to pages, maps page names to\n# template names.\n#html_additional_pages = {}\n\n# If false, no module index is generated.\n#html_domain_indices = True\n\n# If false, no index is generated.\n#html_use_index = True\n\n# If true, the index is split into individual pages for each letter.\n#html_split_index = False\n\n# If true, links to the reST sources are added to the pages.\n#html_show_sourcelink = True\n\n# If true, \"Created using Sphinx\" is shown in the HTML footer. Default is True.\n#html_show_sphinx = True\n\n# If true, \"(C) Copyright ...\" is shown in the HTML footer. Default is True.\n#html_show_copyright = True\n\n# If true, an OpenSearch description file will be output, and all pages will\n# contain a <link> tag referring to it.  The value of this option must be the\n# base URL from which the finished HTML is served.\n#html_use_opensearch = ''\n\n# This is the file name suffix for HTML files (e.g. \".xhtml\").\n#html_file_suffix = None\n\n# Output file base name for HTML help builder.\nhtmlhelp_basename = 'doc'\n\n\n# -- Options for LaTeX output --------------------------------------------------\n\n# The paper size ('letter' or 'a4').\n#latex_paper_size = 'letter'\n\n# The font size ('10pt', '11pt' or '12pt').\n#latex_font_size = '10pt'\n\n# Grouping the document tree into LaTeX files. List of tuples\n# (source start file, target name, title, author, documentclass [howto/manual]).\nlatex_documents = [\n  ('index', 'project.tex', u'project Documentation',\n   u'Mozilla', 'manual'),\n]\n\n# The name of an image file (relative to this directory) to place at the top of\n# the title page.\n#latex_logo = None\n\n# For \"manual\" documents, if this is true, then toplevel headings are parts,\n# not chapters.\n#latex_use_parts = False\n\n# If true, show page references after internal links.\n#latex_show_pagerefs = False\n\n# If true, show URL addresses after external links.\n#latex_show_urls = False\n\n# Additional stuff for the LaTeX preamble.\n#latex_preamble = ''\n\n# Documents to append as an appendix to all manuals.\n#latex_appendices = []\n\n# If false, no module index is generated.\n#latex_domain_indices = True\n\n\n# -- Options for manual page output --------------------------------------------\n\n# One entry per manual page. List of tuples\n# (source start file, name, description, authors, manual section).\nman_pages = [\n    ('index', 'a-django-app', u\"a-django-app's Documentation\",\n     [u'the authors'], 1)\n]\n\n\n# Example configuration for intersphinx: refer to the Python standard library.\nintersphinx_mapping = {'http://docs.python.org/': None}\n"
  },
  {
    "path": "docs/index.rst",
    "content": "========================================\nWelcome to {{ project_name }}'s documentation!\n========================================\n\nThis is a documentation template for a **web application using Django 1.5**.\nFeel free to change this to your liking.\n\n\nAbout\n-------------\n\nThis project uses `Django <http://www.djangoproject.com/>`_.\n\nContents\n--------\n\n.. toctree::\n   :maxdepth: 1\n\n\nIndices and tables\n------------------\n\n* :ref:`genindex`\n* :ref:`modindex`\n* :ref:`search`\n"
  },
  {
    "path": "docs/make.bat",
    "content": "@ECHO OFF\n\nREM Command file for Sphinx documentation\n\nif \"%SPHINXBUILD%\" == \"\" (\n\tset SPHINXBUILD=sphinx-build\n)\nset BUILDDIR=_build\nset ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% .\nset I18NSPHINXOPTS=%SPHINXOPTS% .\nif NOT \"%PAPER%\" == \"\" (\n\tset ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%\n\tset I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS%\n)\n\nif \"%1\" == \"\" goto help\n\nif \"%1\" == \"help\" (\n\t:help\n\techo.Please use `make ^<target^>` where ^<target^> is one of\n\techo.  html       to make standalone HTML files\n\techo.  dirhtml    to make HTML files named index.html in directories\n\techo.  singlehtml to make a single large HTML file\n\techo.  pickle     to make pickle files\n\techo.  json       to make JSON files\n\techo.  htmlhelp   to make HTML files and a HTML help project\n\techo.  qthelp     to make HTML files and a qthelp project\n\techo.  devhelp    to make HTML files and a Devhelp project\n\techo.  epub       to make an epub\n\techo.  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter\n\techo.  text       to make text files\n\techo.  man        to make manual pages\n\techo.  texinfo    to make Texinfo files\n\techo.  gettext    to make PO message catalogs\n\techo.  changes    to make an overview over all changed/added/deprecated items\n\techo.  linkcheck  to check all external links for integrity\n\techo.  doctest    to run all doctests embedded in the documentation if enabled\n\tgoto end\n)\n\nif \"%1\" == \"clean\" (\n\tfor /d %%i in (%BUILDDIR%\\*) do rmdir /q /s %%i\n\tdel /q /s %BUILDDIR%\\*\n\tgoto end\n)\n\nif \"%1\" == \"html\" (\n\t%SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html\n\tif errorlevel 1 exit /b 1\n\techo.\n\techo.Build finished. The HTML pages are in %BUILDDIR%/html.\n\tgoto end\n)\n\nif \"%1\" == \"dirhtml\" (\n\t%SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml\n\tif errorlevel 1 exit /b 1\n\techo.\n\techo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml.\n\tgoto end\n)\n\nif \"%1\" == \"singlehtml\" (\n\t%SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml\n\tif errorlevel 1 exit /b 1\n\techo.\n\techo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml.\n\tgoto end\n)\n\nif \"%1\" == \"pickle\" (\n\t%SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle\n\tif errorlevel 1 exit /b 1\n\techo.\n\techo.Build finished; now you can process the pickle files.\n\tgoto end\n)\n\nif \"%1\" == \"json\" (\n\t%SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json\n\tif errorlevel 1 exit /b 1\n\techo.\n\techo.Build finished; now you can process the JSON files.\n\tgoto end\n)\n\nif \"%1\" == \"htmlhelp\" (\n\t%SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp\n\tif errorlevel 1 exit /b 1\n\techo.\n\techo.Build finished; now you can run HTML Help Workshop with the ^\n.hhp project file in %BUILDDIR%/htmlhelp.\n\tgoto end\n)\n\nif \"%1\" == \"qthelp\" (\n\t%SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp\n\tif errorlevel 1 exit /b 1\n\techo.\n\techo.Build finished; now you can run \"qcollectiongenerator\" with the ^\n.qhcp project file in %BUILDDIR%/qthelp, like this:\n\techo.^> qcollectiongenerator %BUILDDIR%\\qthelp\\{{ project_name }}.qhcp\n\techo.To view the help file:\n\techo.^> assistant -collectionFile %BUILDDIR%\\qthelp\\{{ project_name }}.ghc\n\tgoto end\n)\n\nif \"%1\" == \"devhelp\" (\n\t%SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp\n\tif errorlevel 1 exit /b 1\n\techo.\n\techo.Build finished.\n\tgoto end\n)\n\nif \"%1\" == \"epub\" (\n\t%SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub\n\tif errorlevel 1 exit /b 1\n\techo.\n\techo.Build finished. The epub file is in %BUILDDIR%/epub.\n\tgoto end\n)\n\nif \"%1\" == \"latex\" (\n\t%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex\n\tif errorlevel 1 exit /b 1\n\techo.\n\techo.Build finished; the LaTeX files are in %BUILDDIR%/latex.\n\tgoto end\n)\n\nif \"%1\" == \"text\" (\n\t%SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text\n\tif errorlevel 1 exit /b 1\n\techo.\n\techo.Build finished. The text files are in %BUILDDIR%/text.\n\tgoto end\n)\n\nif \"%1\" == \"man\" (\n\t%SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man\n\tif errorlevel 1 exit /b 1\n\techo.\n\techo.Build finished. The manual pages are in %BUILDDIR%/man.\n\tgoto end\n)\n\nif \"%1\" == \"texinfo\" (\n\t%SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo\n\tif errorlevel 1 exit /b 1\n\techo.\n\techo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo.\n\tgoto end\n)\n\nif \"%1\" == \"gettext\" (\n\t%SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale\n\tif errorlevel 1 exit /b 1\n\techo.\n\techo.Build finished. The message catalogs are in %BUILDDIR%/locale.\n\tgoto end\n)\n\nif \"%1\" == \"changes\" (\n\t%SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes\n\tif errorlevel 1 exit /b 1\n\techo.\n\techo.The overview file is in %BUILDDIR%/changes.\n\tgoto end\n)\n\nif \"%1\" == \"linkcheck\" (\n\t%SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck\n\tif errorlevel 1 exit /b 1\n\techo.\n\techo.Link check complete; look for any errors in the above output ^\nor in %BUILDDIR%/linkcheck/output.txt.\n\tgoto end\n)\n\nif \"%1\" == \"doctest\" (\n\t%SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest\n\tif errorlevel 1 exit /b 1\n\techo.\n\techo.Testing of doctests in the sources finished, look at the ^\nresults in %BUILDDIR%/doctest/output.txt.\n\tgoto end\n)\n\n:end\n"
  },
  {
    "path": "fabfile.py",
    "content": "\"\"\"\nStarter fabfile for deploying the {{ project_name }} project.\n\nChange all the things marked CHANGEME. Other things can be left at their\ndefaults if you are happy with the default layout.\n\"\"\"\n\nimport posixpath\n\nfrom fabric.api import run, local, env, settings, cd, task\nfrom fabric.contrib.files import exists\nfrom fabric.operations import _prefix_commands, _prefix_env_vars\n#from fabric.decorators import runs_once\n#from fabric.context_managers import cd, lcd, settings, hide\n\n# CHANGEME\nenv.hosts = ['user@{{ project_name }}.example.com']\nenv.code_dir = '/srv/www/{{ project_name }}'\nenv.project_dir = '/srv/www/{{ project_name }}/{{ project_name }}'\nenv.static_root = '/srv/www/{{ project_name }}/static/'\nenv.virtualenv = '/srv/www/{{ project_name }}/.virtualenv'\nenv.code_repo = 'git@github.com:user/{{project_name}}.git'\nenv.django_settings_module = '{{ project_name }}.settings'\n\n# Python version\nPYTHON_BIN = \"python2.7\"\nPYTHON_PREFIX = \"\"  # e.g. /usr/local  Use \"\" for automatic\nPYTHON_FULL_PATH = \"%s/bin/%s\" % (PYTHON_PREFIX, PYTHON_BIN) if PYTHON_PREFIX else PYTHON_BIN\n\n# Set to true if you can restart your webserver (via wsgi.py), false to stop/start your webserver\n# CHANGEME\nDJANGO_SERVER_RESTART = False\n\n\ndef virtualenv(venv_dir):\n    \"\"\"\n    Context manager that establishes a virtualenv to use.\n    \"\"\"\n    return settings(venv=venv_dir)\n\n\ndef run_venv(command, **kwargs):\n    \"\"\"\n    Runs a command in a virtualenv (which has been specified using\n    the virtualenv context manager\n    \"\"\"\n    run(\"source %s/bin/activate\" % env.virtualenv + \" && \" + command, **kwargs)\n\n\ndef install_dependencies():\n    ensure_virtualenv()\n    with virtualenv(env.virtualenv):\n        with cd(env.code_dir):\n            run_venv(\"pip install -r requirements/production.txt\")\n\n\ndef ensure_virtualenv():\n    if exists(env.virtualenv):\n        return\n\n    with cd(env.code_dir):\n        run(\"virtualenv --no-site-packages --python=%s %s\" %\n            (PYTHON_BIN, env.virtualenv))\n        run(\"echo %s > %s/lib/%s/site-packages/projectsource.pth\" %\n            (env.project_dir, env.virtualenv, PYTHON_BIN))\n\n\ndef ensure_src_dir():\n    if not exists(env.code_dir):\n        run(\"mkdir -p %s\" % env.code_dir)\n    with cd(env.code_dir):\n        if not exists(posixpath.join(env.code_dir, '.git')):\n            run('git clone %s .' % (env.code_repo))\n\n\ndef push_sources():\n    \"\"\"\n    Push source code to server\n    \"\"\"\n    ensure_src_dir()\n    local('git push origin master')\n    with cd(env.code_dir):\n        run('git pull origin master')\n\n\n@task\ndef run_tests():\n    \"\"\" Runs the Django test suite as is.  \"\"\"\n    local(\"./manage.py test\")\n\n\n@task\ndef version():\n    \"\"\" Show last commit to the deployed repo. \"\"\"\n    with cd(env.code_dir):\n        run('git log -1')\n\n\n@task\ndef uname():\n    \"\"\" Prints information about the host. \"\"\"\n    run(\"uname -a\")\n\n\n@task\ndef webserver_stop():\n    \"\"\"\n    Stop the webserver that is running the Django instance\n    \"\"\"\n    run(\"service apache2 stop\")\n\n\n@task\ndef webserver_start():\n    \"\"\"\n    Starts the webserver that is running the Django instance\n    \"\"\"\n    run(\"service apache2 start\")\n\n\n@task\ndef webserver_restart():\n    \"\"\"\n    Restarts the webserver that is running the Django instance\n    \"\"\"\n    if DJANGO_SERVER_RESTART:\n        with cd(env.code_dir):\n            run(\"touch %s/wsgi.py\" % env.project_dir)\n    else:\n        with settings(warn_only=True):\n            webserver_stop()\n        webserver_start()\n\n\ndef restart():\n    \"\"\" Restart the wsgi process \"\"\"\n    with cd(env.code_dir):\n        run(\"touch %s/{{ project_name }}/wsgi.py\" % env.code_dir)\n\n\ndef build_static():\n    assert env.static_root.strip() != '' and env.static_root.strip() != '/'\n    with virtualenv(env.virtualenv):\n        with cd(env.code_dir):\n            run_venv(\"./manage.py collectstatic -v 0 --clear --noinput\")\n\n    run(\"chmod -R ugo+r %s\" % env.static_root)\n\n\n@task\ndef first_deployment_mode():\n    \"\"\"\n    Use before first deployment to switch on fake south migrations.\n    \"\"\"\n    env.initial_deploy = True\n\n\n@task\ndef update_database(app=None):\n    \"\"\"\n    Update the database (run the migrations)\n    Usage: fab update_database:app_name\n    \"\"\"\n    with virtualenv(env.virtualenv):\n        with cd(env.code_dir):\n            if getattr(env, 'initial_deploy', False):\n                run_venv(\"./manage.py syncdb --all\")\n                run_venv(\"./manage.py migrate --fake --noinput\")\n            else:\n                run_venv(\"./manage.py syncdb --noinput\")\n                if app:\n                    run_venv(\"./manage.py migrate %s --noinput\" % app)\n                else:\n                    run_venv(\"./manage.py migrate --noinput\")\n\n\n@task\ndef sshagent_run(cmd):\n    \"\"\"\n    Helper function.\n    Runs a command with SSH agent forwarding enabled.\n\n    Note:: Fabric (and paramiko) can't forward your SSH agent.\n    This helper uses your system's ssh to do so.\n    \"\"\"\n    # Handle context manager modifications\n    wrapped_cmd = _prefix_commands(_prefix_env_vars(cmd), 'remote')\n    try:\n        host, port = env.host_string.split(':')\n        return local(\n            \"ssh -p %s -A %s@%s '%s'\" % (port, env.user, host, wrapped_cmd)\n        )\n    except ValueError:\n        return local(\n            \"ssh -A %s@%s '%s'\" % (env.user, env.host_string, wrapped_cmd)\n        )\n\n\n@task\ndef deploy():\n    \"\"\"\n    Deploy the project.\n    \"\"\"\n    with settings(warn_only=True):\n        webserver_stop()\n    push_sources()\n    install_dependencies()\n    update_database()\n    build_static()\n    webserver_start()\n"
  },
  {
    "path": "install_requirements.sh",
    "content": "#!/usr/bin/env bash\n\n# install pip if it doesn't exist yet\nwhich pip > /dev/null 2>&1\nif [ $? -ne 0 ]; then\n    sudo apt-get install -q -y python-pip\nfi\n\n# install python development headers\ndpkg --get-selections | grep python-dev > /dev/null 2>&1\nif [ $? -ne 0 ]; then\n    sudo apt-get update\n    sudo apt-get install -q -y python-dev\nfi\n\n# install ffi for bcrypt\ndpkg --get-selections | grep libffi-dev > /dev/null 2>&1\nif [ $? -ne 0 ]; then\n    sudo apt-get install -q -y libffi-dev\nfi\n\n# install requirements from pip requirements file\nsudo pip install -r /vagrant/requirements.txt\n"
  },
  {
    "path": "lib/.keep",
    "content": ""
  },
  {
    "path": "manage.py",
    "content": "#!/usr/bin/env python\nimport os, sys\n\nif __name__ == \"__main__\":\n    os.environ.setdefault(\"DJANGO_SETTINGS_MODULE\", \"{{ project_name }}.settings\")\n    # Add the lib/ directory to the system path\n    sys.path.append(\"lib\")\n\n    from django.core.management import execute_from_command_line\n\n    execute_from_command_line(sys.argv)\n"
  },
  {
    "path": "project_name/__init__.py",
    "content": "\"\"\" {{ project_name }} \"\"\"\n"
  },
  {
    "path": "project_name/settings/__init__.py",
    "content": "\"\"\" Settings for {{ project_name }} \"\"\"\n\nfrom .base import *\ntry:\n    from .local import *\nexcept ImportError as exc:\n    exc.args = tuple(\n        ['%s (did you rename settings/local-dist.py?)' % exc.args[0]])\n    raise exc\n"
  },
  {
    "path": "project_name/settings/base.py",
    "content": "\"\"\"\nThis is your project's main settings file that can be committed to your\nrepo. If you need to override a setting locally, use local.py\n\"\"\"\n\nimport os\nimport logging\n\n# Normally you should not import ANYTHING from Django directly\n# into your settings, but ImproperlyConfigured is an exception.\nfrom django.core.exceptions import ImproperlyConfigured\n\n\ndef get_env_setting(setting):\n    \"\"\" Get the environment setting or return exception \"\"\"\n    try:\n        return os.environ[setting]\n    except KeyError:\n        error_msg = \"Set the %s env variable\" % setting\n        raise ImproperlyConfigured(error_msg)\n\n\n# Your project root\nPROJECT_ROOT = os.path.abspath(os.path.dirname(__file__) + \"../../../\")\n\nSUPPORTED_NONLOCALES = ['media', 'admin', 'static']\n\n# Language code for this installation. All choices can be found here:\n# http://www.i18nguy.com/unicode/language-identifiers.html\nLANGUAGE_CODE = 'en-us'\n\n# Defines the views served for root URLs.\nROOT_URLCONF = '{{ project_name }}.urls'\n\n# Application definition\nINSTALLED_APPS = (\n    # Django contrib apps\n    'django.contrib.auth',\n    'django.contrib.contenttypes',\n    'django.contrib.sessions',\n    'django.contrib.messages',\n    'django.contrib.admin',\n    'django.contrib.humanize',\n    'django.contrib.syndication',\n    'django.contrib.staticfiles',\n\n    # Third-party apps, patches, fixes\n    'djcelery',\n    'debug_toolbar',\n    'compressor',\n\n    # Application base, containing global templates.\n    'base',\n\n    # Local apps, referenced via appname\n)\n\n# Place bcrypt first in the list, so it will be the default password hashing\n# mechanism\nPASSWORD_HASHERS = (\n    'django.contrib.auth.hashers.BCryptSHA256PasswordHasher',\n    'django.contrib.auth.hashers.BCryptPasswordHasher',\n    'django.contrib.auth.hashers.PBKDF2PasswordHasher',\n    'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',\n    'django.contrib.auth.hashers.SHA1PasswordHasher',\n    'django.contrib.auth.hashers.MD5PasswordHasher',\n    'django.contrib.auth.hashers.CryptPasswordHasher',\n)\n\n# Sessions\n#\n# By default, be at least somewhat secure with our session cookies.\nSESSION_COOKIE_HTTPONLY = True\n\n# Set this to true if you are using https\nSESSION_COOKIE_SECURE = False\n\n# Absolute filesystem path to the directory that will hold user-uploaded files.\n# Example: \"/home/media/media.example.com/media/\"\nMEDIA_ROOT = os.path.join(PROJECT_ROOT, 'media')\n\n# URL that handles the media served from MEDIA_ROOT. Make sure to use a\n# trailing slash.\n# Examples: \"http://media.example.com/media/\", \"http://example.com/media/\"\nMEDIA_URL = '/media/'\n\n# Absolute path to the directory static files should be collected to.\n# Don't put anything in this directory yourself; store your static files\n# in apps' \"static/\" subdirectories and in STATICFILES_DIRS.\n# Example: \"/home/media/media.example.com/static/\"\nSTATIC_ROOT = os.path.join(PROJECT_ROOT, 'static')\n\n# URL prefix for static files.\n# Example: \"http://media.example.com/static/\"\nSTATIC_URL = '/static/'\n\n# Additional locations of static files\nSTATICFILES_DIRS = (\n    # Put strings here, like \"/home/html/static\" or \"C:/www/django/static\".\n    # Always use forward slashes, even on Windows.\n    # Don't forget to use absolute paths, not relative paths.\n)\n\n# If you set this to False, Django will make some optimizations so as not\n# to load the internationalization machinery.\nUSE_I18N = True\n\n# If you set this to False, Django will not format dates, numbers and\n# calendars according to the current locale\nUSE_L10N = True\n\n# If you set this to False, Django will not use timezone-aware datetimes.\nUSE_TZ = True\n\n# Local time zone for this installation. Choices can be found here:\n# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name\n# although not all choices may be available on all operating systems.\n# If running in a Windows environment this must be set to the same as your\n# system time zone.\nTIME_ZONE = 'America/Los_Angeles'\n\n# List of finder classes that know how to find static files in\n# various locations.\nSTATICFILES_FINDERS = (\n    'django.contrib.staticfiles.finders.FileSystemFinder',\n    'django.contrib.staticfiles.finders.AppDirectoriesFinder',\n    'compressor.finders.CompressorFinder',\n)\n\nMIDDLEWARE_CLASSES = [\n    'django.contrib.sessions.middleware.SessionMiddleware',\n    'django.middleware.locale.LocaleMiddleware',\n    'django.middleware.common.CommonMiddleware',\n    'django.middleware.csrf.CsrfViewMiddleware',\n    'django.contrib.auth.middleware.AuthenticationMiddleware',\n    'django.contrib.messages.middleware.MessageMiddleware',\n    'django.middleware.clickjacking.XFrameOptionsMiddleware',\n    'debug_toolbar.middleware.DebugToolbarMiddleware',\n]\n\nTEMPLATE_CONTEXT_PROCESSORS = [\n    'django.contrib.auth.context_processors.auth',\n    'django.core.context_processors.debug',\n    'django.core.context_processors.media',\n    'django.core.context_processors.request',\n    'django.core.context_processors.i18n',\n    'django.core.context_processors.static',\n    'django.core.context_processors.csrf',\n    'django.core.context_processors.tz',\n    'django.contrib.messages.context_processors.messages',\n]\n\nTEMPLATE_DIRS = (\n    # Put strings here, like \"/home/html/django_templates\" or\n    # \"C:/www/django/templates\".\n    # Always use forward slashes, even on Windows.\n    # Don't forget to use absolute paths, not relative paths.\n    os.path.join(PROJECT_ROOT, 'templates'),\n)\n\n# List of callables that know how to import templates from various sources.\nTEMPLATE_LOADERS = (\n    'django.template.loaders.filesystem.Loader',\n    'django.template.loaders.app_directories.Loader',\n)\n\nTEST_RUNNER = 'django.test.runner.DiscoverRunner'\n\n\ndef custom_show_toolbar(request):\n    \"\"\" Only show the debug toolbar to users with the superuser flag. \"\"\"\n    return request.user.is_superuser\n\n\nDEBUG_TOOLBAR_CONFIG = {\n    'INTERCEPT_REDIRECTS': False,\n    'SHOW_TOOLBAR_CALLBACK': '{{ project_name }}.settings.base.custom_show_toolbar',\n    'HIDE_DJANGO_SQL': True,\n    'TAG': 'body',\n    'SHOW_TEMPLATE_CONTEXT': True,\n    'ENABLE_STACKTRACES': True,\n}\n\n# Uncomment the following setting if you get an ImportError such as:\n#   ImproperlyConfigured: The included urlconf projectname.urls doesn't have any patterns in it\n# See:\n# http://stackoverflow.com/questions/20963856/improperlyconfigured-the-included-urlconf-project-urls-doesnt-have-any-patte/21005346#21005346\n# http://django-debug-toolbar.readthedocs.org/en/1.0/installation.html#explicit-setup\n#DEBUG_TOOLBAR_PATCH_SETTINGS = False\n\n# DEBUG_TOOLBAR_PANELS = (\n#     #'debug_toolbar_user_panel.panels.UserPanel',\n#     'debug_toolbar.panels.version.VersionDebugPanel',\n#     'debug_toolbar.panels.timer.TimerDebugPanel',\n#     'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel',\n#     'debug_toolbar.panels.headers.HeaderDebugPanel',\n#     'debug_toolbar.panels.request_vars.RequestVarsDebugPanel',\n#     'debug_toolbar.panels.template.TemplateDebugPanel',\n#     'debug_toolbar.panels.sql.SQLDebugPanel',\n#     'debug_toolbar.panels.signals.SignalDebugPanel',\n#     'debug_toolbar.panels.logger.LoggingPanel',\n# )\n\n# Specify a custom user model to use\n#AUTH_USER_MODEL = 'accounts.MyUser'\n\nFILE_UPLOAD_PERMISSIONS = 0o0664\n\n# The WSGI Application to use for runserver\nWSGI_APPLICATION = '{{ project_name }}.wsgi.application'\n\n# Define your database connections\nDATABASES = {\n    'default': {\n        'ENGINE': 'django.db.backends.',\n        'NAME': '',\n        'USER': '',\n        'PASSWORD': '',\n        'HOST': '',\n        'PORT': '',\n        #'OPTIONS': {\n        #    'init_command': 'SET storage_engine=InnoDB',\n        #    'charset' : 'utf8',\n        #    'use_unicode' : True,\n        #},\n        #'TEST_CHARSET': 'utf8',\n        #'TEST_COLLATION': 'utf8_general_ci',\n    },\n    # 'slave': {\n    #     ...\n    # },\n}\n\n# Uncomment this and set to all slave DBs in use on the site.\n# SLAVE_DATABASES = ['slave']\n\n# Recipients of traceback emails and other notifications.\nADMINS = (\n    # ('Your Name', 'your_email@domain.com'),\n)\nMANAGERS = ADMINS\n\n# SECURITY WARNING: don't run with debug turned on in production!\n# Debugging displays nice error messages, but leaks memory. Set this to False\n# on all server instances and True only for development.\nDEBUG = TEMPLATE_DEBUG = False\n\n# Is this a development instance? Set this to True on development/master\n# instances and False on stage/prod.\nDEV = False\n\n# Hosts/domain names that are valid for this site; required if DEBUG is False\n# See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts\nALLOWED_HOSTS = []\n\n# SECURITY WARNING: keep the secret key used in production secret!\n# Hardcoded values can leak through source control.\n# This is an example method of getting the value from an environment setting.\n# Uncomment to use, and then make sure you set the SECRET_KEY environment variable.\n# This is good to use in production, and on services that support it such as Heroku.\n#SECRET_KEY = get_env_setting('SECRET_KEY')\n\n# Uncomment these to activate and customize Celery:\n# CELERY_ALWAYS_EAGER = False  # required to activate celeryd\n# BROKER_HOST = 'localhost'\n# BROKER_PORT = 5672\n# BROKER_USER = 'django'\n# BROKER_PASSWORD = 'django'\n# BROKER_VHOST = 'django'\n# CELERY_RESULT_BACKEND = 'amqp'\n\nINTERNAL_IPS = ('127.0.0.1')\n\n# Enable this option for memcached\n#CACHE_BACKEND= \"memcached://127.0.0.1:11211/\"\n\n# Set this to true if you use a proxy that sets X-Forwarded-Host\n#USE_X_FORWARDED_HOST = False\n\nSERVER_EMAIL = \"webmaster@example.com\"\nDEFAULT_FROM_EMAIL = \"webmaster@example.com\"\nSYSTEM_EMAIL_PREFIX = \"[{{ project_name }}]\"\n\n## Log settings\n\nLOG_LEVEL = logging.INFO\nHAS_SYSLOG = True\nSYSLOG_TAG = \"http_app_{{ project_name }}\"  # Make this unique to your project.\n# Remove this configuration variable to use your custom logging configuration\nLOGGING_CONFIG = None\nLOGGING = {\n    'version': 1,\n    'loggers': {\n        '{{ project_name }}': {\n            'level': \"DEBUG\"\n        }\n    }\n}\n\n# Common Event Format logging parameters\n#CEF_PRODUCT = '{{ project_name }}'\n#CEF_VENDOR = 'Your Company'\n#CEF_VERSION = '0'\n#CEF_DEVICE_VERSION = '0'\n"
  },
  {
    "path": "project_name/settings/local-dist.py",
    "content": "\"\"\"\nThis is an example settings/local.py file.\nThese settings overrides what's in settings/base.py\n\"\"\"\n\nfrom . import base\n\n\n# To extend any settings from settings/base.py here's an example.\n# If you don't need to extend any settings from base.py, you do not need\n# to import base above\nINSTALLED_APPS = base.INSTALLED_APPS + ('django_nose',)\n\nDATABASES = {\n    'default': {\n        'ENGINE': 'django.db.backends.sqlite3',\n        'NAME': 'db/development.sqlite3',\n        'USER': '',\n        'PASSWORD': '',\n        'HOST': '',\n        'PORT': '',\n        #'OPTIONS': {\n        #    'init_command': 'SET storage_engine=InnoDB',\n        #    'charset' : 'utf8',\n        #    'use_unicode' : True,\n        #},\n        #'TEST_CHARSET': 'utf8',\n        #'TEST_COLLATION': 'utf8_general_ci',\n    },\n    # 'slave': {\n    #     ...\n    # },\n}\n\n# Recipients of traceback emails and other notifications.\nADMINS = (\n    # ('Your Name', 'your_email@domain.com'),\n)\nMANAGERS = ADMINS\n\nEMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'\n\nCACHES = {\n    'default': {\n        'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\n    }\n}\n\n# SECURITY WARNING: don't run with debug turned on in production!\n# Debugging displays nice error messages, but leaks memory. Set this to False\n# on all server instances and True only for development.\nDEBUG = TEMPLATE_DEBUG = True\n\n# Is this a development instance? Set this to True on development/master\n# instances and False on stage/prod.\nDEV = True\n\n# Hosts/domain names that are valid for this site; required if DEBUG is False\n# See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts\nALLOWED_HOSTS = []\n\n# SECURITY WARNING: keep the secret key used in production secret!\n# Hardcoded values can leak through source control. Consider loading\n# the secret key from an environment variable or a file instead.\nSECRET_KEY = '{{ secret_key }}'\n\n# Uncomment these to activate and customize Celery:\n# CELERY_ALWAYS_EAGER = False  # required to activate celeryd\n# BROKER_HOST = 'localhost'\n# BROKER_PORT = 5672\n# BROKER_USER = 'django'\n# BROKER_PASSWORD = 'django'\n# BROKER_VHOST = 'django'\n# CELERY_RESULT_BACKEND = 'amqp'\n\n## Log settings\n\n# Remove this configuration variable to use your custom logging configuration\nLOGGING_CONFIG = None\nLOGGING = {\n    'version': 1,\n    'loggers': {\n        '{{ project_name }}': {\n            'level': \"DEBUG\"\n        }\n    }\n}\n\nINTERNAL_IPS = ('127.0.0.1')\n"
  },
  {
    "path": "project_name/settings/test.py",
    "content": "\"\"\"\nThis is an example settings/test.py file.\nUse this settings file when running tests.\nThese settings overrides what's in settings/base.py\n\"\"\"\n\nfrom .base import *\n\n\nDATABASES = {\n    \"default\": {\n        \"ENGINE\": \"django.db.backends.sqlite3\",\n        \"NAME\": \":memory:\",\n        \"USER\": \"\",\n        \"PASSWORD\": \"\",\n        \"HOST\": \"\",\n        \"PORT\": \"\",\n    },\n}\n\nSECRET_KEY = '{{ secret_key }}'\n"
  },
  {
    "path": "project_name/urls.py",
    "content": "\"\"\" Default urlconf for {{ project_name }} \"\"\"\n\nfrom django.conf.urls import include, patterns, url\nfrom django.contrib import admin\nadmin.autodiscover()\n\n\ndef bad(request):\n    \"\"\" Simulates a server error \"\"\"\n    1 / 0\n\nurlpatterns = patterns('',\n    # Examples:\n    # url(r'^$', '{{ project_name }}.views.home', name='home'),\n    # url(r'^blog/', include('blog.urls')),\n    url(r'^admin/', include(admin.site.urls)),\n    url(r'^bad/$', bad),\n    url(r'', include('base.urls')),\n)\n\n"
  },
  {
    "path": "project_name/wsgi.py",
    "content": "\"\"\"\nWSGI config for {{ project_name }} project.\n\nThis module contains the WSGI application used by Django's development server\nand any production WSGI deployments. It should expose a module-level variable\nnamed ``application``. Django's ``runserver`` and ``runfcgi`` commands discover\nthis application via the ``WSGI_APPLICATION`` setting.\n\nUsually you will have the standard Django WSGI application here, but it also\nmight make sense to replace the whole Django WSGI application with a custom one\nthat later delegates to the Django one. For example, you could introduce WSGI\nmiddleware here, or combine a Django application with an application of another\nframework.\n\n\"\"\"\nimport os\n#import sys\n#import site\n#import subprocess\n\n\nPROJECT_ROOT = os.path.abspath(os.path.dirname(__file__) + \"../../\")\n\n# Add the virtualenv packages to the site directory. This uses the technique\n# described at http://code.google.com/p/modwsgi/wiki/VirtualEnvironments\n\n# Remember original sys.path.\n#prev_sys_path = list(sys.path)\n\n# Get the path to the env's site-packages directory\n#site_packages = subprocess.check_output([\n#                    os.path.join(PROJECT_ROOT, '.virtualenv/bin/python'),\n#                    '-c',\n#                    'from distutils.sysconfig import get_python_lib;'\n#                    'print get_python_lib(),'\n#]).strip()\n\n# Add the virtualenv site-packages to the site packages\n#site.addsitedir(site_packages)\n\n# Reorder sys.path so the new directories are at the front.\n#new_sys_path = []\n#for item in list(sys.path):\n#    if item not in prev_sys_path:\n#        new_sys_path.append(item)\n#        sys.path.remove(item)\n#sys.path[:0] = new_sys_path\n\n# Add the app code to the path\n#sys.path.append(PROJECT_ROOT)\n\nos.environ['CELERY_LOADER'] = 'django'\nos.environ.setdefault(\"DJANGO_SETTINGS_MODULE\", \"{{ project_name }}.settings\")\n\n# This application object is used by any WSGI server configured to use this\n# file. This includes Django's development server, if the WSGI_APPLICATION\n# setting points here.\nfrom django.core.wsgi import get_wsgi_application\napplication = get_wsgi_application()\n\n# Apply WSGI middleware here.\n# from helloworld.wsgi import HelloWorldApplication\n# application = HelloWorldApplication(application)\n"
  },
  {
    "path": "requirements/compiled.txt",
    "content": "# Choose your databases adapter\n#psycopg2\n#MySQL-python\n\n# for bcrypt passwords\nbcrypt\n"
  },
  {
    "path": "requirements/local.txt",
    "content": "# This file pulls in everything a developer needs. If it's a basic package\n# needed to run the site, it belongs in requirements/production.txt. If it's a\n# package for developers (testing, docs, etc.), it goes in this file.\n-r production.txt\n\n# Deployment\nFabric\n\n# Documentation\nSphinx\n\n# Testing\nnose\nmock\ndjango-nose\ncoverage\npep8\npyflakes\npylint\n"
  },
  {
    "path": "requirements/production.txt",
    "content": "# Install everything that needs to be compiled\n-r compiled.txt\n\n# Django stuff\nDjango>=1.8\n\n# Templates\ndjango_compressor\n\n# Security\nbleach\n#cef\n\n# Logging\n#raven\n\n# Celery: Message queue\ncelery\ndjango-celery\n\n# L10n/i18n\n#Babel\n#-e git://github.com/clouserw/tower.git#egg=tower\n\n# Caching\npython-memcached\n\n# Admin\ndjango-debug-toolbar\n\n# Feature testing\n#django-waffle\n"
  },
  {
    "path": "requirements.txt",
    "content": "# This file is here because many Platforms as a Service look for\n# requirements.txt in the root directory of a project.\n-r requirements/production.txt\n"
  }
]