[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