[Python-modules-commits] [django-session-security] 01/01: Imported Upstream version 2.2.1

Jean-Michel Vourgère nirgal-guest at moszumanska.debian.org
Mon Oct 20 14:30:12 UTC 2014


This is an automated email from the git hooks/post-receive script.

nirgal-guest pushed a commit to branch master
in repository django-session-security.

commit 17a74b8615cd643b6da579ef92dc04a39d5a614e
Author: Jean-Michel Nirgal Vourgère <jmv_deb at nirgal.com>
Date:   Mon Oct 20 16:29:42 2014 +0200

    Imported Upstream version 2.2.1
---
 .gitignore                                         |   6 +
 .travis.yml                                        |  32 +++
 AUTHORS                                            |   9 +
 CHANGELOG                                          |  48 ++++
 MANIFEST.in                                        |   2 +
 README.rst                                         |  88 +++++++
 circle.yml                                         |   1 +
 docs/Makefile                                      | 154 ++++++++++++
 docs/make.bat                                      | 190 +++++++++++++++
 docs/requirements.txt                              |   2 +
 docs/source/_static/default.css                    | 265 +++++++++++++++++++++
 docs/source/_static/pycco.css                      | 186 +++++++++++++++
 docs/source/conf.py                                | 262 ++++++++++++++++++++
 docs/source/full.rst                               |  62 +++++
 docs/source/index.rst                              |  25 ++
 docs/source/quick.rst                              |  40 ++++
 session_security/__init__.py                       |   0
 session_security/locale/es/LC_MESSAGES/django.po   |  31 +++
 session_security/locale/fr/LC_MESSAGES/django.po   |  28 +++
 .../locale/pt_BR/LC_MESSAGES/django.po             |  28 +++
 session_security/middleware.py                     |  72 ++++++
 session_security/models.py                         |   0
 session_security/settings.py                       |  41 ++++
 session_security/static/session_security/script.js | 140 +++++++++++
 session_security/static/session_security/style.css |  26 ++
 .../templates/session_security/all.html            |  37 +++
 .../templates/session_security/dialog.html         |  10 +
 session_security/templatetags/__init__.py          |   0
 .../templatetags/session_security_tags.py          |  15 ++
 session_security/tests/__init__.py                 |   3 +
 session_security/tests/base.py                     |  48 ++++
 session_security/tests/middleware.py               |  47 ++++
 session_security/tests/script.py                   | 124 ++++++++++
 session_security/tests/views.py                    |  47 ++++
 session_security/urls.py                           |  30 +++
 session_security/utils.py                          |  17 ++
 session_security/views.py                          |  28 +++
 setup.py                                           |  74 ++++++
 test_project/db.sqlite                             | Bin 0 -> 71680 bytes
 test_project/fixtures/initial_data.json            |   1 +
 test_project/manage.py                             |  10 +
 test_project/static/favicon.ico                    |   0
 test_project/static/jquery.js                      |   5 +
 test_project/templates/404.html                    |   1 +
 test_project/templates/500.html                    |   1 +
 test_project/templates/admin/base_site.html        |  12 +
 test_project/templates/home.html                   |  29 +++
 test_project/test_project/__init__.py              |   0
 test_project/test_project/settings.py              | 183 ++++++++++++++
 test_project/test_project/urls.py                  |  24 ++
 test_project/test_project/wsgi.py                  |  28 +++
 51 files changed, 2512 insertions(+)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e70f786
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+*.pyc
+django_session_security.egg-info
+.ropeproject
+dist
+docs/build
+docs/source/_static/
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..39b88e9
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,32 @@
+language: python
+matrix:
+  exclude:
+    - python: "3.3"
+      env: DJANGO=1.4
+python:
+  - "2.7"
+  - "3.3"
+env:
+  - DJANGO=1.4
+  - DJANGO=1.5
+  - DJANGO=1.6
+install:
+  - pip install -q Django==$DJANGO --use-mirrors
+  - pip install pep8 --use-mirrors
+  - pip install https://github.com/dcramer/pyflakes/tarball/master
+  - pip install -q -e . --use-mirrors
+  - pip install selenium==2.37.2 unittest_data_provider six
+  - pip freeze
+before_script:
+  - "pep8 --exclude=tests,migrations --ignore=E124,E128 session_security"
+  - "export DISPLAY=:99.0"
+  - "sh -e /etc/init.d/xvfb start"
+script:
+  - python setup.py test
+notifications:
+  irc: 
+    channels: 
+      - "irc.freenode.org#neoskills"
+      - "irc.freenode.org#yourlabs"
+    template:
+      - "%{repository} (%{commit} %{author}) : %{message} %{build_url} %{compare_url}"
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..15767c4
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,9 @@
+- James Pic
+- @autodidacticon
+- @yscumc
+- Fabio Caritas Barrionuevo da Luz - @luzfcb
+- John David Giese @johndgiese
+- Jose Antonio Martin Prieto @jantoniomartin
+- Scott Sexton @scottsexton
+- @jacoor
+- @krillr
diff --git a/CHANGELOG b/CHANGELOG
new file mode 100644
index 0000000..ea566be
--- /dev/null
+++ b/CHANGELOG
@@ -0,0 +1,48 @@
+2.2.1: #24: Center the modal on the viewport
+
+2.2.0: Pre-build .mo.
+
+2.1.7 #19: Use consistent formatting
+for the datetime. Fixes random failures
+in test suites. By Scott Sexton.
+
+2.1.6 #18: Spanish translation
+
+2.1.5 #17: Fix l10n error with long numbers @jacoor
+
+2.1.4 #13: Fix clock sync problems by @krillr
+
+2.1.3 Added Brazilian Portuguese Translation
+
+2.1.2 Use {% static %} instead of {{ STATIC_URL }} in all.html
+
+2.1.1
+
+    - Fixed AUTHORS,
+    - Added utils to full documentation.
+    - Promoted to Production/Stable.
+
+2.1.0
+
+    - Django 1.5 and 1.6 support.
+    - Fix #6: Internet Explorer 8 support.
+    - Python 3.3 support.
+    - Minor BC break: we can't set datetime objects directly in the session
+      since django 1.6. Instead, we go through session_security.utils functions
+      get_last_activity() and set_last_activity(). If you were touching
+      session['_session_security'] directly, you should update your code to use
+      those functions.
+
+2.0.6 Fix #5: Make the list of event types to monitor an option.
+
+2.0.5 Removed more debug statements.
+
+2.0.4 Fix #4: Removed debug statement.
+
+2.0.3 Unset data-dirty on form submit, to prevent onbeforeunload.
+
+2.0.2 Added confirmFormDiscard and onbeforeunload handler.
+
+2.0.1 Traded POST ping request for a GET ping request, removed CSRF code.
+
+2.0.0 Rewrite with unit tests.
diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644
index 0000000..8a44d08
--- /dev/null
+++ b/MANIFEST.in
@@ -0,0 +1,2 @@
+include *.rst *.txt README
+recursive-include session_security *.html *.css *.js *.py *.po *.mo
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..a670651
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,88 @@
+.. image:: https://secure.travis-ci.org/yourlabs/django-session-security.png?branch=master
+
+This app provides a mechanism to logout inactive authenticated users. An
+inactive browser should be logged out automatically if the user left his
+workstation, to protect sensitive data that may be displayed in the browser. It
+may be useful for CRMs, intranets, and such projects.
+
+For example, if the user leaves for a coffee break, this app can force logout
+after say 5 minutes of inactivity.
+
+Why not just set the session to expire after X minutes ?
+--------------------------------------------------------
+
+Or "Why does this app even exist" ? Here are the reasons:
+
+- if the user session expires before the user is done reading a page: he will
+  have to login again.
+- if the user session expires before the user is done filling a form: his work
+  will be lost, and he will have to login again, and probably yell at you, dear
+  django dev ... at least I know I would !
+
+This app allows to short circuit those limitations in session expiry.
+
+How does it work ?
+------------------
+
+When the user loads a page, SessionSecurity middleware will set the last
+activity to now. The last activity is stored as datetime
+in ``request.session['_session_security']``. To avoid having the middleware
+update that last activity datetime for a URL, add the url to
+``settings.SESSION_SECURITY_PASSIVE_URLS``.
+
+When the user moves mouse, click, scroll or press a key, SessionSecurity will
+save the DateTime as a JavaScript attribute. It will send the number of seconds
+since when the last user activity was recorded to PingView, next time it should
+ping.
+
+First, a warning should be shown after ``settings.SESSION_SECURITY_WARN_AFTER``
+seconds. The warning displays a text like "Your session is about to expire,
+move the mouse to extend it".
+
+Before displaying this warning, SessionSecurity will upload the time since the
+last client-side activity was recorded. The middleware will take it if it is
+shorter than what it already has - ie. another more recent activity was
+detected in another browser tab. The PingView will respond with the number of
+seconds since the last activity - all browser tab included.
+
+If there was no other, more recent, activity recorded by the server: it will
+show the warning. Otherwise it will update the last activity in javascript from
+the PingView response.
+
+Same goes to expire after ``settings.SESSION_SECURITY_EXPIRE_AFTER`` seconds.
+Javascript will first make an ajax request to PingView to ensure that another
+more recent activity was not detected anywhere else - in any other browser tab.
+
+Requirements
+------------
+
+- Python 2.7
+- jQuery 1.7+
+- Django 1.4+
+- django.contrib.staticfiles or django-staticfiles (included in Pinax) or
+  you're on your own
+
+Resources
+---------
+
+You could subscribe to the mailing list ask questions or just be informed of
+package updates.
+
+- `Git graciously hosted
+  <https://github.com/yourlabs/django-session-security/>`_ by `GitHub
+  <http://github.com>`_,
+- `Documentation graciously hosted
+  <http://django-session-security.rtfd.org>`_ by `RTFD
+  <http://rtfd.org>`_,
+- `Package graciously hosted
+  <http://pypi.python.org/pypi/django-session-security/>`_ by `PyPi
+  <http://pypi.python.org/pypi>`_,
+- `Mailing list graciously hosted
+  <http://groups.google.com/group/yourlabs>`_ by `Google
+  <http://groups.google.com>`_
+- `Continuous integration graciously hosted
+  <http://travis-ci.org/yourlabs/django-session-security>`_ by `Travis-ci
+  <http://travis-ci.org>`_
+
+.. Continuous integration graciously hosted by Travis:
+.. http://travis-ci.org/yourlabs/django-session-security
diff --git a/circle.yml b/circle.yml
new file mode 120000
index 0000000..e623fa5
--- /dev/null
+++ b/circle.yml
@@ -0,0 +1 @@
+.travis.yml
\ No newline at end of file
diff --git a/docs/Makefile b/docs/Makefile
new file mode 100644
index 0000000..771e87b
--- /dev/null
+++ b/docs/Makefile
@@ -0,0 +1,154 @@
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS    =
+SPHINXBUILD   = sphinx-build
+PAPER         =
+BUILDDIR      = build
+
+# Internal variables.
+PAPEROPT_a4     = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
+# the i18n builder cannot share the environment and doctrees with the others
+I18NSPHINXOPTS  = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
+
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
+
+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 "  singlehtml to make a single large HTML file"
+	@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 "  devhelp    to make HTML files and a Devhelp project"
+	@echo "  epub       to make an epub"
+	@echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+	@echo "  latexpdf   to make LaTeX files and run them through pdflatex"
+	@echo "  text       to make text files"
+	@echo "  man        to make manual pages"
+	@echo "  texinfo    to make Texinfo files"
+	@echo "  info       to make Texinfo files and run them through makeinfo"
+	@echo "  gettext    to make PO message catalogs"
+	@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 $(BUILDDIR)/*
+
+html:
+	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+	pycco ../session_security/static/session_security/*js -d $(BUILDDIR)/html
+	@echo
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+
+dirhtml:
+	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+	@echo
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+
+singlehtml:
+	$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+	@echo
+	@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
+
+pickle:
+	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+	@echo
+	@echo "Build finished; now you can process the pickle files."
+
+json:
+	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+	@echo
+	@echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+	@echo
+	@echo "Build finished; now you can run HTML Help Workshop with the" \
+	      ".hhp project file in $(BUILDDIR)/htmlhelp."
+
+qthelp:
+	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+	@echo
+	@echo "Build finished; now you can run "qcollectiongenerator" with the" \
+	      ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/django-session-security.qhcp"
+	@echo "To view the help file:"
+	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/django-session-security.qhc"
+
+devhelp:
+	$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+	@echo
+	@echo "Build finished."
+	@echo "To view the help file:"
+	@echo "# mkdir -p $$HOME/.local/share/devhelp/django-session-security"
+	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/django-session-security"
+	@echo "# devhelp"
+
+epub:
+	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+	@echo
+	@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
+
+latex:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo
+	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+	@echo "Run \`make' in that directory to run these through (pdf)latex" \
+	      "(use \`make latexpdf' here to do that automatically)."
+
+latexpdf:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo "Running LaTeX files through pdflatex..."
+	$(MAKE) -C $(BUILDDIR)/latex all-pdf
+	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+text:
+	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+	@echo
+	@echo "Build finished. The text files are in $(BUILDDIR)/text."
+
+man:
+	$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+	@echo
+	@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+
+texinfo:
+	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+	@echo
+	@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
+	@echo "Run \`make' in that directory to run these through makeinfo" \
+	      "(use \`make info' here to do that automatically)."
+
+info:
+	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+	@echo "Running Texinfo files through makeinfo..."
+	make -C $(BUILDDIR)/texinfo info
+	@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
+
+gettext:
+	$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
+	@echo
+	@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
+
+changes:
+	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+	@echo
+	@echo "The overview file is in $(BUILDDIR)/changes."
+
+linkcheck:
+	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+	@echo
+	@echo "Link check complete; look for any errors in the above output " \
+	      "or in $(BUILDDIR)/linkcheck/output.txt."
+
+doctest:
+	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+	@echo "Testing of doctests in the sources finished, look at the " \
+	      "results in $(BUILDDIR)/doctest/output.txt."
diff --git a/docs/make.bat b/docs/make.bat
new file mode 100644
index 0000000..b43040f
--- /dev/null
+++ b/docs/make.bat
@@ -0,0 +1,190 @@
+ at ECHO OFF
+
+REM Command file for Sphinx documentation
+
+if "%SPHINXBUILD%" == "" (
+	set SPHINXBUILD=sphinx-build2
+)
+set BUILDDIR=build
+set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% source
+set I18NSPHINXOPTS=%SPHINXOPTS% source
+if NOT "%PAPER%" == "" (
+	set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
+	set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS%
+)
+
+if "%1" == "" goto help
+
+if "%1" == "help" (
+	: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.  singlehtml to make a single large HTML file
+	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.  devhelp    to make HTML files and a Devhelp project
+	echo.  epub       to make an epub
+	echo.  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter
+	echo.  text       to make text files
+	echo.  man        to make manual pages
+	echo.  texinfo    to make Texinfo files
+	echo.  gettext    to make PO message catalogs
+	echo.  changes    to make an overview over 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
+	goto end
+)
+
+if "%1" == "clean" (
+	for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i
+	del /q /s %BUILDDIR%\*
+	goto end
+)
+
+if "%1" == "html" (
+	%SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The HTML pages are in %BUILDDIR%/html.
+	goto end
+)
+
+if "%1" == "dirhtml" (
+	%SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml.
+	goto end
+)
+
+if "%1" == "singlehtml" (
+	%SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml.
+	goto end
+)
+
+if "%1" == "pickle" (
+	%SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished; now you can process the pickle files.
+	goto end
+)
+
+if "%1" == "json" (
+	%SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished; now you can process the JSON files.
+	goto end
+)
+
+if "%1" == "htmlhelp" (
+	%SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished; now you can run HTML Help Workshop with the ^
+.hhp project file in %BUILDDIR%/htmlhelp.
+	goto end
+)
+
+if "%1" == "qthelp" (
+	%SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished; now you can run "qcollectiongenerator" with the ^
+.qhcp project file in %BUILDDIR%/qthelp, like this:
+	echo.^> qcollectiongenerator %BUILDDIR%\qthelp\django-session-security.qhcp
+	echo.To view the help file:
+	echo.^> assistant -collectionFile %BUILDDIR%\qthelp\django-session-security.ghc
+	goto end
+)
+
+if "%1" == "devhelp" (
+	%SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished.
+	goto end
+)
+
+if "%1" == "epub" (
+	%SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The epub file is in %BUILDDIR%/epub.
+	goto end
+)
+
+if "%1" == "latex" (
+	%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished; the LaTeX files are in %BUILDDIR%/latex.
+	goto end
+)
+
+if "%1" == "text" (
+	%SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The text files are in %BUILDDIR%/text.
+	goto end
+)
+
+if "%1" == "man" (
+	%SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The manual pages are in %BUILDDIR%/man.
+	goto end
+)
+
+if "%1" == "texinfo" (
+	%SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo.
+	goto end
+)
+
+if "%1" == "gettext" (
+	%SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The message catalogs are in %BUILDDIR%/locale.
+	goto end
+)
+
+if "%1" == "changes" (
+	%SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.The overview file is in %BUILDDIR%/changes.
+	goto end
+)
+
+if "%1" == "linkcheck" (
+	%SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Link check complete; look for any errors in the above output ^
+or in %BUILDDIR%/linkcheck/output.txt.
+	goto end
+)
+
+if "%1" == "doctest" (
+	%SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Testing of doctests in the sources finished, look at the ^
+results in %BUILDDIR%/doctest/output.txt.
+	goto end
+)
+
+:end
diff --git a/docs/requirements.txt b/docs/requirements.txt
new file mode 100644
index 0000000..4822d64
--- /dev/null
+++ b/docs/requirements.txt
@@ -0,0 +1,2 @@
+django
+pycco
diff --git a/docs/source/_static/default.css b/docs/source/_static/default.css
new file mode 100644
index 0000000..067cb12
--- /dev/null
+++ b/docs/source/_static/default.css
@@ -0,0 +1,265 @@
+/*
+ * default.css_t
+ * ~~~~~~~~~~~~~
+ *
+ * Sphinx stylesheet -- default theme.
+ *
+ * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+ at import url("basic.css");
+
+/* -- page layout ----------------------------------------------------------- */
+
+body {
+    font-family: sans-serif;
+    font-size: 100%;
+    background-color: #11303d;
+    color: #000;
+    margin: 0;
+    padding: 0;
+}
+
+div.document {
+    background-color: #1c4e63;
+}
+
+div.documentwrapper {
+    float: left;
+    width: 100%;
+}
+
+div.bodywrapper {
+    margin: 0 0 0 230px;
+}
+
+div.body {
+    background-color: #ffffff;
+    color: #000000;
+    padding: 0 20px 30px 20px;
+}
+
+div.footer {
+    color: #ffffff;
+    width: 100%;
+    padding: 9px 0 9px 0;
+    text-align: center;
+    font-size: 75%;
+}
+
+div.footer a {
+    color: #ffffff;
+    text-decoration: underline;
+}
+
+div.related {
+    background-color: #133f52;
+    line-height: 30px;
+    color: #ffffff;
+}
+
+div.related a {
+    color: #ffffff;
+}
+
+div.sphinxsidebar {
+}
+
+div.sphinxsidebar h3 {
+    font-family: 'Trebuchet MS', sans-serif;
+    color: #ffffff;
+    font-size: 1.4em;
+    font-weight: normal;
+    margin: 0;
+    padding: 0;
+}
+
+div.sphinxsidebar h3 a {
+    color: #ffffff;
+}
+
+div.sphinxsidebar h4 {
+    font-family: 'Trebuchet MS', sans-serif;
+    color: #ffffff;
+    font-size: 1.3em;
+    font-weight: normal;
+    margin: 5px 0 0 0;
+    padding: 0;
+}
+
+div.sphinxsidebar p {
+    color: #ffffff;
+}
+
+div.sphinxsidebar p.topless {
+    margin: 5px 10px 10px 10px;
+}
+
+div.sphinxsidebar ul {
+    margin: 10px;
+    padding: 0;
+    color: #ffffff;
+}
+
+div.sphinxsidebar a {
+    color: #98dbcc;
+}
+
+div.sphinxsidebar input {
+    border: 1px solid #98dbcc;
+    font-family: sans-serif;
+    font-size: 1em;
+}
+
+
+
+/* -- hyperlink styles ------------------------------------------------------ */
+
+a {
+    color: #355f7c;
+    text-decoration: none;
+}
+
+a:visited {
+    color: #355f7c;
+    text-decoration: none;
+}
+
+a:hover {
+    text-decoration: underline;
+}
+
+
+
+/* -- body styles ----------------------------------------------------------- */
+
+div.body h1,
+div.body h2,
+div.body h3,
+div.body h4,
+div.body h5,
+div.body h6 {
+    font-family: 'Trebuchet MS', sans-serif;
+    background-color: #f2f2f2;
+    font-weight: normal;
+    color: #20435c;
+    border-bottom: 1px solid #ccc;
+    margin: 20px -20px 10px -20px;
+    padding: 3px 0 3px 10px;
+}
+
+div.body h1 { margin-top: 0; font-size: 200%; }
+div.body h2 { font-size: 160%; }
+div.body h3 { font-size: 140%; }
+div.body h4 { font-size: 120%; }
+div.body h5 { font-size: 110%; }
+div.body h6 { font-size: 100%; }
+
+a.headerlink {
+    color: #c60f0f;
+    font-size: 0.8em;
+    padding: 0 4px 0 4px;
+    text-decoration: none;
+}
+
+a.headerlink:hover {
+    background-color: #c60f0f;
+    color: white;
+}
+
+div.body p, div.body dd, div.body li {
+    text-align: justify;
+    line-height: 130%;
+}
+
+div.admonition p.admonition-title + p {
+    display: inline;
+}
+
+div.admonition p {
+    margin-bottom: 5px;
+}
+
+div.admonition pre {
+    margin-bottom: 5px;
+}
+
+div.admonition ul, div.admonition ol {
+    margin-bottom: 5px;
+}
+
+div.note {
+    background-color: #eee;
+    border: 1px solid #ccc;
+}
+
+div.seealso {
+    background-color: #ffc;
+    border: 1px solid #ff6;
+}
+
+div.topic {
+    background-color: #eee;
+}
+
+div.warning {
+    background-color: #ffe4e4;
+    border: 1px solid #f66;
+}
+
+p.admonition-title {
+    display: inline;
+}
+
+p.admonition-title:after {
+    content: ":";
+}
+
+pre {
+    padding: 5px;
+    background-color: #eeffcc;
+    color: #333333;
+    line-height: 120%;
+    border: 1px solid #ac9;
+    border-left: none;
+    border-right: none;
+}
+
+tt {
+    background-color: #ecf0f3;
+    padding: 0 1px 0 1px;
+    font-size: 1.05em;
+}
+
+tt.descname {
+    font-size: 1.2em;
+}
+
+th {
+    background-color: #ede;
+}
+
+.warning tt {
+    background: #efc2c2;
+}
+
+.note tt {
+    background: #d6d6d6;
+}
+
+.viewcode-back {
+    font-family: sans-serif;
+}
+
+div.viewcode-block:target {
+    background-color: #f4debf;
+    border-top: 1px solid #ac9;
+    border-bottom: 1px solid #ac9;
+}
+
+dt {
+    font-weight: bold;
+    font-size: 1.1em;
+}
diff --git a/docs/source/_static/pycco.css b/docs/source/_static/pycco.css
new file mode 100644
index 0000000..57e6c47
--- /dev/null
+++ b/docs/source/_static/pycco.css
@@ -0,0 +1,186 @@
+/*--------------------- Layout and Typography ----------------------------*/
+body {
+  font-family: 'Palatino Linotype', 'Book Antiqua', Palatino, FreeSerif, serif;
+  font-size: 16px;
+  line-height: 24px;
+  color: #252519;
+  margin: 0; padding: 0;
+}
+a {
+  color: #261a3b;
+}
+  a:visited {
+    color: #261a3b;
+  }
+p {
+  margin: 0 0 15px 0;
+}
+h1, h2, h3, h4, h5, h6 {
+  margin: 40px 0 15px 0;
+}
+h2, h3, h4, h5, h6 {
+    margin-top: 0;
+  }
+#container, div.section {
+  position: relative;
+}
+#background {
+  position: fixed;
+  top: 0; left: 580px; right: 0; bottom: 0;
+  background: #f5f5ff;
+  border-left: 1px solid #e5e5ee;
+  z-index: -1;
+}
+#jump_to, #jump_page {
+  background: white;
+  -webkit-box-shadow: 0 0 25px #777; -moz-box-shadow: 0 0 25px #777;
+  -webkit-border-bottom-left-radius: 5px; -moz-border-radius-bottomleft: 5px;
+  font: 10px Arial;
+  text-transform: uppercase;
+  cursor: pointer;
+  text-align: right;
+}
+#jump_to, #jump_wrapper {
+  position: fixed;
+  right: 0; top: 0;
+  padding: 5px 10px;
+}
+  #jump_wrapper {
+    padding: 0;
+    display: none;
+  }
+    #jump_to:hover #jump_wrapper {
+      display: block;
+    }
+    #jump_page {
+      padding: 5px 0 3px;
+      margin: 0 0 25px 25px;
+    }
+      #jump_page .source {
+        display: block;
+        padding: 5px 10px;
+        text-decoration: none;
+        border-top: 1px solid #eee;
+      }
+        #jump_page .source:hover {
+          background: #f5f5ff;
+        }
+        #jump_page .source:first-child {
+        }
+div.docs {
+  float: left;
... 1863 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/django-session-security.git



More information about the Python-modules-commits mailing list