Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Removed docs and fab, updated requirements

  • Loading branch information...
commit 908edca043378d6630892abf740779eb809b3ebe 1 parent 5853b5d
@Apreche authored Scott Rubin committed
View
88 docs/Makefile
@@ -1,88 +0,0 @@
-# Makefile for Sphinx documentation
-#
-
-# You can set these variables from the command line.
-SPHINXOPTS =
-SPHINXBUILD = sphinx-build
-PAPER =
-
-# Internal variables.
-PAPEROPT_a4 = -D latex_paper_size=a4
-PAPEROPT_letter = -D latex_paper_size=letter
-ALLSPHINXOPTS = -d _build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
-
-.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest
-
-help:
- @echo "Please use \`make <target>' where <target> is one of"
- @echo " html to make standalone HTML files"
- @echo " dirhtml to make HTML files named index.html in directories"
- @echo " pickle to make pickle files"
- @echo " json to make JSON files"
- @echo " htmlhelp to make HTML files and a HTML help project"
- @echo " qthelp to make HTML files and a qthelp project"
- @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
- @echo " changes to make an overview of all changed/added/deprecated items"
- @echo " linkcheck to check all external links for integrity"
- @echo " doctest to run all doctests embedded in the documentation (if enabled)"
-
-clean:
- -rm -rf _build/*
-
-html:
- $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) _build/html
- @echo
- @echo "Build finished. The HTML pages are in _build/html."
-
-dirhtml:
- $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) _build/dirhtml
- @echo
- @echo "Build finished. The HTML pages are in _build/dirhtml."
-
-pickle:
- $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) _build/pickle
- @echo
- @echo "Build finished; now you can process the pickle files."
-
-json:
- $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) _build/json
- @echo
- @echo "Build finished; now you can process the JSON files."
-
-htmlhelp:
- $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) _build/htmlhelp
- @echo
- @echo "Build finished; now you can run HTML Help Workshop with the" \
- ".hhp project file in _build/htmlhelp."
-
-qthelp:
- $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) _build/qthelp
- @echo
- @echo "Build finished; now you can run "qcollectiongenerator" with the" \
- ".qhcp project file in _build/qthelp, like this:"
- @echo "# qcollectiongenerator _build/qthelp/project.qhcp"
- @echo "To view the help file:"
- @echo "# assistant -collectionFile _build/qthelp/project.qhc"
-
-latex:
- $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) _build/latex
- @echo
- @echo "Build finished; the LaTeX files are in _build/latex."
- @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
- "run these through (pdf)latex."
-
-changes:
- $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) _build/changes
- @echo
- @echo "The overview file is in _build/changes."
-
-linkcheck:
- $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) _build/linkcheck
- @echo
- @echo "Link check complete; look for any errors in the above output " \
- "or in _build/linkcheck/output.txt."
-
-doctest:
- $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) _build/doctest
- @echo "Testing of doctests in the sources finished, look at the " \
- "results in _build/doctest/output.txt."
View
195 docs/conf.py
@@ -1,195 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# {{ project_name }} documentation build configuration file, created by
-# sphinx-quickstart on Wed Aug 19 10:27:46 2009.
-#
-# This file is execfile()d with the current directory set to its containing dir.
-#
-# Note that not all possible configuration values are present in this
-# autogenerated file.
-#
-# All configuration values have a default; values that are commented out
-# serve to show the default.
-
-import sys, os
-import datetime
-
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-#sys.path.append(os.path.abspath('.'))
-
-# -- General configuration -----------------------------------------------------
-
-# Add any Sphinx extension module names here, as strings. They can be extensions
-# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = ['sphinx.ext.autodoc']
-
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
-
-# The suffix of source filenames.
-source_suffix = '.rst'
-
-# The encoding of source files.
-#source_encoding = 'utf-8'
-
-# The master toctree document.
-master_doc = 'index'
-
-# General information about the project.
-project = u'{{ project_name }}'
-copyright = u'%d, myauthor' % datetime.date.today().year
-
-# The version info for the project you're documenting, acts as replacement for
-# |version| and |release|, also used in various other places throughout the
-# built documents.
-#
-# The short X.Y version.
-version = '1.0'
-# The full version, including alpha/beta/rc tags.
-release = '1.0'
-
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
-#language = None
-
-# There are two options for replacing |today|: either, you set today to some
-# non-false value, then it is used:
-#today = ''
-# Else, today_fmt is used as the format for a strftime call.
-#today_fmt = '%B %d, %Y'
-
-# List of documents that shouldn't be included in the build.
-#unused_docs = []
-
-# List of directories, relative to source directory, that shouldn't be searched
-# for source files.
-exclude_trees = ['_build']
-
-# The reST default role (used for this markup: `text`) to use for all documents.
-#default_role = None
-
-# If true, '()' will be appended to :func: etc. cross-reference text.
-#add_function_parentheses = True
-
-# If true, the current module name will be prepended to all description
-# unit titles (such as .. function::).
-#add_module_names = True
-
-# If true, sectionauthor and moduleauthor directives will be shown in the
-# output. They are ignored by default.
-#show_authors = False
-
-# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
-
-# A list of ignored prefixes for module index sorting.
-#modindex_common_prefix = []
-
-
-# -- Options for HTML output ---------------------------------------------------
-
-# The theme to use for HTML and HTML Help pages. Major themes that come with
-# Sphinx are currently 'default' and 'sphinxdoc'.
-html_theme = 'default'
-
-# Theme options are theme-specific and customize the look and feel of a theme
-# further. For a list of options available for each theme, see the
-# documentation.
-#html_theme_options = {}
-
-# Add any paths that contain custom themes here, relative to this directory.
-#html_theme_path = []
-
-# The name for this set of Sphinx documents. If None, it defaults to
-# "<project> v<release> documentation".
-#html_title = None
-
-# A shorter title for the navigation bar. Default is the same as html_title.
-#html_short_title = None
-
-# The name of an image file (relative to this directory) to place at the top
-# of the sidebar.
-#html_logo = None
-
-# The name of an image file (within the static path) to use as favicon of the
-# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
-# pixels large.
-#html_favicon = None
-
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
-
-# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
-# using the given strftime format.
-#html_last_updated_fmt = '%b %d, %Y'
-
-# If true, SmartyPants will be used to convert quotes and dashes to
-# typographically correct entities.
-#html_use_smartypants = True
-
-# Custom sidebar templates, maps document names to template names.
-#html_sidebars = {}
-
-# Additional templates that should be rendered to pages, maps page names to
-# template names.
-#html_additional_pages = {}
-
-# If false, no module index is generated.
-#html_use_modindex = True
-
-# If false, no index is generated.
-#html_use_index = True
-
-# If true, the index is split into individual pages for each letter.
-#html_split_index = False
-
-# If true, links to the reST sources are added to the pages.
-#html_show_sourcelink = True
-
-# If true, an OpenSearch description file will be output, and all pages will
-# contain a <link> tag referring to it. The value of this option must be the
-# base URL from which the finished HTML is served.
-#html_use_opensearch = ''
-
-# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
-#html_file_suffix = ''
-
-# Output file base name for HTML help builder.
-htmlhelp_basename = '{{ project_name }}doc'
-
-
-# -- Options for LaTeX output --------------------------------------------------
-
-# The paper size ('letter' or 'a4').
-#latex_paper_size = 'letter'
-
-# The font size ('10pt', '11pt' or '12pt').
-#latex_font_size = '10pt'
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title, author, documentclass [howto/manual]).
-latex_documents = [
- ('index', '{{ project_name }}.tex', u'{{ project_name }} Documentation',
- u'myauthor', 'manual'),
-]
-
-# The name of an image file (relative to this directory) to place at the top of
-# the title page.
-#latex_logo = None
-
-# For "manual" documents, if this is true, then toplevel headings are parts,
-# not chapters.
-#latex_use_parts = False
-
-# Additional stuff for the LaTeX preamble.
-#latex_preamble = ''
-
-# Documents to append as an appendix to all manuals.
-#latex_appendices = []
-
-# If false, no module index is generated.
-#latex_use_modindex = True
View
28 docs/deployment.rst
@@ -1,28 +0,0 @@
-Deployment
-==========
-
-Staging/Development
--------------------
-
-`Fabric <http://pypi.python.org/pypi/Fabric>`_ is used to allow developers to
-easily push changes to a previously setup development/staging environment.
-To get started, install Fabric by running the following command from within
-your virtual environment::
-
- pip install fabric==1.4
-
-So see a list of available commands, run the following command from within your
-project directory::
-
- fab -l
-
-Some common commands::
-
- fab restart # Restart the web server.
- fab update # Just update the repository.
- fab push deploy # Push, then fully deploy.
-
-From the within the project directory, you can just run ``fab [command]``.
-If you want to run fabric outside of the directory, use::
-
- fab --fabfile /path/to/project/fabfile.py [command]
View
18 docs/index.rst
@@ -1,18 +0,0 @@
-Welcome to {{ project_name }}'s documentation!
-=====================================
-
-Contents:
-
-.. toctree::
- :maxdepth: 2
-
- install
- deployment
-
-Indices and tables
-==================
-
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`
-
View
57 docs/install.rst
@@ -1,57 +0,0 @@
-==================
-Installation
-==================
-
-Pre-Requisites
-===============
-
-* `setuptools <http://pypi.python.org/pypi/setuptools>`_
-* `virtualenv <http://pypi.python.org/pypi/virtualenv>`_
-
-To install all of these system dependencies on a Debian-based system, run::
-
- sudo apt-get install python-setuptools
- sudo easy_install virtualenv
-
-
-Creating the Virtual Environment
-================================
-
-First, create a clean base environment using virtualenv::
-
- virtualenv {{ project_name }}
- cd {{ project_name }}
- source bin/activate
-
-
-Installing the Project
-======================
-
-Install the requirements and the project source::
-
- cd path/to/your/{{ project_name }}/repository
- pip install -r requirements.pip
- pip install -e .
-
-
-Configuring a Local Environment
-===============================
-
-If you're just checking the project out locally, you can copy some example
-configuration files to get started quickly::
-
- cp {{ project_name }}/conf/local/example/* {{ project_name }}/conf/local
- manage.py syncdb --migrate
-
-
-Building Documentation
-======================
-
-Documentation is available in ``docs`` and can be built into a number of
-formats using `Sphinx <http://pypi.python.org/pypi/Sphinx>`_. To get started::
-
- pip install Sphinx
- cd docs
- make html
-
-This creates the documentation in HTML format at ``docs/_build/html``.
View
239 fabfile.py
@@ -1,239 +0,0 @@
-from fabric.api import task, env, run, local, roles, cd, execute, hide, puts,\
- sudo
-import posixpath
-import re
-
-env.project_name = '{{ project_name }}'
-env.repository = 'git@github.com:Apreche/{{ project_name }}.git'
-env.local_branch = 'master'
-env.remote_ref = 'origin/master'
-env.requirements_file = 'requirements.pip'
-env.restart_command = 'supervisorctl restart {project_name}'.format(**env)
-env.restart_sudo = True
-
-
-#==============================================================================
-# Tasks which set up deployment environments
-#==============================================================================
-
-@task
-def live():
- """
- Use the live deployment environment.
- """
- server = '{{ project_name }}.com'
- env.roledefs = {
- 'web': [server],
- 'db': [server],
- }
- env.system_users = {server: 'www-data'}
- env.virtualenv_dir = '/srv/www/{project_name}'.format(**env)
- env.project_dir = '{virtualenv_dir}/src/{project_name}'.format(**env)
- env.project_conf = '{project_name}.conf.local'.format(**env)
-
-
-@task
-def dev():
- """
- Use the development deployment environment.
- """
- server = '{{ project_name }}.frontrowcrew.com'
- env.roledefs = {
- 'web': [server],
- 'db': [server],
- }
- env.system_users = {server: 'www-data'}
- env.virtualenv_dir = '/srv/www/{project_name}'.format(**env)
- env.project_dir = '{virtualenv_dir}/src/{project_name}'.format(**env)
- env.project_conf = '{project_name}.conf.local'.format(**env)
-
-
-# Set the default environment.
-dev()
-
-
-#==============================================================================
-# Actual tasks
-#==============================================================================
-
-@task
-@roles('web', 'db')
-def bootstrap(action=''):
- """
- Bootstrap the environment.
- """
- with hide('running', 'stdout'):
- exists = run('if [ -d "{virtualenv_dir}" ]; then echo 1; fi'\
- .format(**env))
- if exists and not action == 'force':
- puts('Assuming {host} has already been bootstrapped since '
- '{virtualenv_dir} exists.'.format(**env))
- return
- sudo('virtualenv {virtualenv_dir}'.format(**env))
- if not exists:
- sudo('mkdir -p {0}'.format(posixpath.dirname(env.virtualenv_dir)))
- sudo('git clone {repository} {project_dir}'.format(**env))
- sudo('{virtualenv_dir}/bin/pip install -e {project_dir}'.format(**env))
- with cd(env.virtualenv_dir):
- sudo('chown -R {user} .'.format(**env))
- fix_permissions()
- requirements()
- puts('Bootstrapped {host} - database creation needs to be done manually.'\
- .format(**env))
-
-
-@task
-@roles('web', 'db')
-def push():
- """
- Push branch to the repository.
- """
- remote, dest_branch = env.remote_ref.split('/', 1)
- local('git push {remote} {local_branch}:{dest_branch}'.format(
- remote=remote, dest_branch=dest_branch, **env))
-
-
-@task
-def deploy(verbosity='normal'):
- """
- Full server deploy.
-
- Updates the repository (server-side), synchronizes the database, collects
- static files and then restarts the web service.
- """
- if verbosity == 'noisy':
- hide_args = []
- else:
- hide_args = ['running', 'stdout']
- with hide(*hide_args):
- puts('Updating repository...')
- execute(update)
- puts('Collecting static files...')
- execute(collectstatic)
- puts('Synchronizing database...')
- execute(syncdb)
- puts('Restarting web server...')
- execute(restart)
-
-
-@task
-@roles('web', 'db')
-def update(action='check'):
- """
- Update the repository (server-side).
-
- By default, if the requirements file changed in the repository then the
- requirements will be updated. Use ``action='force'`` to force
- updating requirements. Anything else other than ``'check'`` will avoid
- updating requirements at all.
- """
- with cd(env.project_dir):
- remote, dest_branch = env.remote_ref.split('/', 1)
- run('git fetch {remote}'.format(remote=remote,
- dest_branch=dest_branch, **env))
- with hide('running', 'stdout'):
- changed_files = run('git diff-index --cached --name-only '
- '{remote_ref}'.format(**env)).splitlines()
- if not changed_files and action != 'force':
- # No changes, we can exit now.
- return
- if action == 'check':
- reqs_changed = env.requirements_file in changed_files
- else:
- reqs_changed = False
- run('git merge {remote_ref}'.format(**env))
- run('find -name "*.pyc" -delete')
- run('git clean -df')
- fix_permissions()
- if action == 'force' or reqs_changed:
- # Not using execute() because we don't want to run multiple times for
- # each role (since this task gets run per role).
- requirements()
-
-
-@task
-@roles('web')
-def collectstatic():
- """
- Collect static files from apps and other locations in a single location.
- """
- dj('collectstatic --link --noinput')
- with cd('{virtualenv_dir}/var/static'.format(**env)):
- fix_permissions()
-
-
-@task
-@roles('db')
-def syncdb(sync=True, migrate=True):
- """
- Synchronize the database.
- """
- dj('syncdb --migrate --noinput')
-
-
-@task
-@roles('web')
-def restart():
- """
- Restart the web service.
- """
- if env.restart_sudo:
- cmd = sudo
- else:
- cmd = run
- cmd(env.restart_command)
-
-
-@task
-@roles('web', 'db')
-def requirements():
- """
- Update the requirements.
- """
- run('{virtualenv_dir}/bin/pip install -r {project_dir}/requirements.txt'\
- .format(**env))
- with cd('{virtualenv_dir}/src'.format(**env)):
- with hide('running', 'stdout', 'stderr'):
- dirs = []
- for path in run('ls -db1 -- */').splitlines():
- full_path = posixpath.normpath(posixpath.join(env.cwd, path))
- if full_path != env.project_dir:
- dirs.append(path)
- if dirs:
- fix_permissions(' '.join(dirs))
- with cd(env.virtualenv_dir):
- with hide('running', 'stdout'):
- match = re.search(r'\d+\.\d+', run('bin/python --version'))
- if match:
- with cd('lib/python{0}/site-packages'.format(match.group())):
- fix_permissions()
-
-
-#==============================================================================
-# Helper functions
-#==============================================================================
-
-def dj(command):
- """
- Run a Django manage.py command on the server.
- """
- run('{virtualenv_dir}/bin/manage.py {dj_command} '
- '--settings {project_conf}'.format(dj_command=command, **env))
-
-
-def fix_permissions(path='.'):
- """
- Fix the file permissions.
- """
- if ' ' in path:
- full_path = '{path} (in {cwd})'.format(path=path, cwd=env.cwd)
- else:
- full_path = posixpath.normpath(posixpath.join(env.cwd, path))
- puts('Fixing {0} permissions'.format(full_path))
- with hide('running'):
- system_user = env.system_users.get(env.host)
- if system_user:
- run('chmod -R g=rX,o= -- {0}'.format(path))
- run('chgrp -R {0} -- {1}'.format(system_user, path))
- else:
- run('chmod -R go= -- {0}'.format(path))

0 comments on commit 908edca

Please sign in to comment.
Something went wrong with that request. Please try again.