summaryrefslogtreecommitdiff
path: root/lib/python2.7/site-packages/django/contrib/messages
diff options
context:
space:
mode:
authorttt2017-05-13 00:29:47 +0530
committerttt2017-05-13 00:29:47 +0530
commitabf599be33b383a6a5baf9493093b2126a622ac8 (patch)
tree4c5ab6e0d935d5e65fabcf0258e4a00dd20a5afa /lib/python2.7/site-packages/django/contrib/messages
downloadSBHS-2018-Rpi-abf599be33b383a6a5baf9493093b2126a622ac8.tar.gz
SBHS-2018-Rpi-abf599be33b383a6a5baf9493093b2126a622ac8.tar.bz2
SBHS-2018-Rpi-abf599be33b383a6a5baf9493093b2126a622ac8.zip
added all server files
Diffstat (limited to 'lib/python2.7/site-packages/django/contrib/messages')
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/__init__.py4
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/api.py102
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/constants.py13
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/context_processors.py8
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ar/LC_MESSAGES/django.mobin0 -> 608 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ar/LC_MESSAGES/django.po23
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/az/LC_MESSAGES/django.mobin0 -> 516 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/az/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/be/LC_MESSAGES/django.mobin0 -> 655 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/be/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/bg/LC_MESSAGES/django.mobin0 -> 548 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/bg/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/bn/LC_MESSAGES/django.mobin0 -> 533 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/bn/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/br/LC_MESSAGES/django.mobin0 -> 521 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/br/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/bs/LC_MESSAGES/django.mobin0 -> 592 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/bs/LC_MESSAGES/django.po23
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ca/LC_MESSAGES/django.mobin0 -> 520 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ca/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/cs/LC_MESSAGES/django.mobin0 -> 562 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/cs/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/cy/LC_MESSAGES/django.mobin0 -> 574 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/cy/LC_MESSAGES/django.po23
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/da/LC_MESSAGES/django.mobin0 -> 520 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/da/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/de/LC_MESSAGES/django.mobin0 -> 524 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/de/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/el/LC_MESSAGES/django.mobin0 -> 520 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/el/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/en/LC_MESSAGES/django.mobin0 -> 356 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/en/LC_MESSAGES/django.po18
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/en_GB/LC_MESSAGES/django.mobin0 -> 540 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/en_GB/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/eo/LC_MESSAGES/django.mobin0 -> 520 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/eo/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/es/LC_MESSAGES/django.mobin0 -> 517 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/es/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/es_AR/LC_MESSAGES/django.mobin0 -> 535 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/es_AR/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/es_MX/LC_MESSAGES/django.mobin0 -> 533 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/es_MX/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/et/LC_MESSAGES/django.mobin0 -> 518 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/et/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/eu/LC_MESSAGES/django.mobin0 -> 514 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/eu/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/fa/LC_MESSAGES/django.mobin0 -> 524 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/fa/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/fi/LC_MESSAGES/django.mobin0 -> 518 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/fi/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/fr/LC_MESSAGES/django.mobin0 -> 523 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/fr/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/fy_NL/LC_MESSAGES/django.mobin0 -> 401 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/fy_NL/LC_MESSAGES/django.po19
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ga/LC_MESSAGES/django.mobin0 -> 566 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ga/LC_MESSAGES/django.po23
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/gl/LC_MESSAGES/django.mobin0 -> 542 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/gl/LC_MESSAGES/django.po23
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/he/LC_MESSAGES/django.mobin0 -> 525 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/he/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/hi/LC_MESSAGES/django.mobin0 -> 531 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/hi/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/hr/LC_MESSAGES/django.mobin0 -> 608 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/hr/LC_MESSAGES/django.po23
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/hu/LC_MESSAGES/django.mobin0 -> 520 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/hu/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ia/LC_MESSAGES/django.mobin0 -> 522 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ia/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/id/LC_MESSAGES/django.mobin0 -> 519 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/id/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/is/LC_MESSAGES/django.mobin0 -> 515 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/is/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/it/LC_MESSAGES/django.mobin0 -> 519 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/it/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ja/LC_MESSAGES/django.mobin0 -> 520 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ja/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ka/LC_MESSAGES/django.mobin0 -> 556 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ka/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/kk/LC_MESSAGES/django.mobin0 -> 522 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/kk/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/km/LC_MESSAGES/django.mobin0 -> 391 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/km/LC_MESSAGES/django.po19
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/kn/LC_MESSAGES/django.mobin0 -> 438 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/kn/LC_MESSAGES/django.po21
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ko/LC_MESSAGES/django.mobin0 -> 532 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ko/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/lb/LC_MESSAGES/django.mobin0 -> 525 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/lb/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/lt/LC_MESSAGES/django.mobin0 -> 589 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/lt/LC_MESSAGES/django.po23
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/lv/LC_MESSAGES/django.mobin0 -> 560 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/lv/LC_MESSAGES/django.po23
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/mk/LC_MESSAGES/django.mobin0 -> 565 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/mk/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ml/LC_MESSAGES/django.mobin0 -> 538 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ml/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/mn/LC_MESSAGES/django.mobin0 -> 530 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/mn/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/my/LC_MESSAGES/django.mobin0 -> 552 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/my/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/nb/LC_MESSAGES/django.mobin0 -> 531 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/nb/LC_MESSAGES/django.po23
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ne/LC_MESSAGES/django.mobin0 -> 529 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ne/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/nl/LC_MESSAGES/django.mobin0 -> 525 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/nl/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/nn/LC_MESSAGES/django.mobin0 -> 526 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/nn/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/os/LC_MESSAGES/django.mobin0 -> 528 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/os/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/pa/LC_MESSAGES/django.mobin0 -> 550 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/pa/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/pl/LC_MESSAGES/django.mobin0 -> 607 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/pl/LC_MESSAGES/django.po23
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/pt/LC_MESSAGES/django.mobin0 -> 522 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/pt/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/pt_BR/LC_MESSAGES/django.mobin0 -> 535 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/pt_BR/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ro/LC_MESSAGES/django.mobin0 -> 564 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ro/LC_MESSAGES/django.po23
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ru/LC_MESSAGES/django.mobin0 -> 640 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ru/LC_MESSAGES/django.po23
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/sk/LC_MESSAGES/django.mobin0 -> 548 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/sk/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/sl/LC_MESSAGES/django.mobin0 -> 574 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/sl/LC_MESSAGES/django.po24
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/sq/LC_MESSAGES/django.mobin0 -> 522 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/sq/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/sr/LC_MESSAGES/django.mobin0 -> 591 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/sr/LC_MESSAGES/django.po23
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/sr_Latn/LC_MESSAGES/django.mobin0 -> 605 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/sr_Latn/LC_MESSAGES/django.po23
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/sv/LC_MESSAGES/django.mobin0 -> 522 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/sv/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/sw/LC_MESSAGES/django.mobin0 -> 517 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/sw/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ta/LC_MESSAGES/django.mobin0 -> 443 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ta/LC_MESSAGES/django.po21
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/te/LC_MESSAGES/django.mobin0 -> 541 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/te/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/th/LC_MESSAGES/django.mobin0 -> 534 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/th/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/tr/LC_MESSAGES/django.mobin0 -> 516 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/tr/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/tt/LC_MESSAGES/django.mobin0 -> 517 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/tt/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/uk/LC_MESSAGES/django.mobin0 -> 652 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/uk/LC_MESSAGES/django.po23
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ur/LC_MESSAGES/django.mobin0 -> 519 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/ur/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/vi/LC_MESSAGES/django.mobin0 -> 527 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/vi/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/zh_CN/LC_MESSAGES/django.mobin0 -> 533 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/zh_CN/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/zh_TW/LC_MESSAGES/django.mobin0 -> 525 bytes
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/locale/zh_TW/LC_MESSAGES/django.po22
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/middleware.py26
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/models.py1
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/storage/__init__.py8
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/storage/base.py184
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/storage/cookie.py158
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/storage/fallback.py54
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/storage/session.py46
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/tests/__init__.py0
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/tests/base.py368
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/tests/test_cookie.py154
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/tests/test_fallback.py176
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/tests/test_middleware.py18
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/tests/test_mixins.py14
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/tests/test_session.py53
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/tests/urls.py73
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/utils.py11
-rw-r--r--lib/python2.7/site-packages/django/contrib/messages/views.py18
173 files changed, 3166 insertions, 0 deletions
diff --git a/lib/python2.7/site-packages/django/contrib/messages/__init__.py b/lib/python2.7/site-packages/django/contrib/messages/__init__.py
new file mode 100644
index 0000000..68a53d9
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/__init__.py
@@ -0,0 +1,4 @@
+from __future__ import absolute_import
+
+from django.contrib.messages.api import *
+from django.contrib.messages.constants import *
diff --git a/lib/python2.7/site-packages/django/contrib/messages/api.py b/lib/python2.7/site-packages/django/contrib/messages/api.py
new file mode 100644
index 0000000..8e08655
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/api.py
@@ -0,0 +1,102 @@
+from django.contrib.messages import constants
+from django.contrib.messages.storage import default_storage
+
+__all__ = (
+ 'add_message', 'get_messages',
+ 'get_level', 'set_level',
+ 'debug', 'info', 'success', 'warning', 'error',
+)
+
+
+class MessageFailure(Exception):
+ pass
+
+
+def add_message(request, level, message, extra_tags='', fail_silently=False):
+ """
+ Attempts to add a message to the request using the 'messages' app.
+ """
+ if hasattr(request, '_messages'):
+ return request._messages.add(level, message, extra_tags)
+ if not fail_silently:
+ raise MessageFailure('You cannot add messages without installing '
+ 'django.contrib.messages.middleware.MessageMiddleware')
+
+
+def get_messages(request):
+ """
+ Returns the message storage on the request if it exists, otherwise returns
+ an empty list.
+ """
+ if hasattr(request, '_messages'):
+ return request._messages
+ else:
+ return []
+
+
+def get_level(request):
+ """
+ Returns the minimum level of messages to be recorded.
+
+ The default level is the ``MESSAGE_LEVEL`` setting. If this is not found,
+ the ``INFO`` level is used.
+ """
+ if hasattr(request, '_messages'):
+ storage = request._messages
+ else:
+ storage = default_storage(request)
+ return storage.level
+
+
+def set_level(request, level):
+ """
+ Sets the minimum level of messages to be recorded, returning ``True`` if
+ the level was recorded successfully.
+
+ If set to ``None``, the default level will be used (see the ``get_level``
+ method).
+ """
+ if not hasattr(request, '_messages'):
+ return False
+ request._messages.level = level
+ return True
+
+
+def debug(request, message, extra_tags='', fail_silently=False):
+ """
+ Adds a message with the ``DEBUG`` level.
+ """
+ add_message(request, constants.DEBUG, message, extra_tags=extra_tags,
+ fail_silently=fail_silently)
+
+
+def info(request, message, extra_tags='', fail_silently=False):
+ """
+ Adds a message with the ``INFO`` level.
+ """
+ add_message(request, constants.INFO, message, extra_tags=extra_tags,
+ fail_silently=fail_silently)
+
+
+def success(request, message, extra_tags='', fail_silently=False):
+ """
+ Adds a message with the ``SUCCESS`` level.
+ """
+ add_message(request, constants.SUCCESS, message, extra_tags=extra_tags,
+ fail_silently=fail_silently)
+
+
+def warning(request, message, extra_tags='', fail_silently=False):
+ """
+ Adds a message with the ``WARNING`` level.
+ """
+ add_message(request, constants.WARNING, message, extra_tags=extra_tags,
+ fail_silently=fail_silently)
+
+
+def error(request, message, extra_tags='', fail_silently=False):
+ """
+ Adds a message with the ``ERROR`` level.
+ """
+ add_message(request, constants.ERROR, message, extra_tags=extra_tags,
+ fail_silently=fail_silently)
diff --git a/lib/python2.7/site-packages/django/contrib/messages/constants.py b/lib/python2.7/site-packages/django/contrib/messages/constants.py
new file mode 100644
index 0000000..bf83bfa
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/constants.py
@@ -0,0 +1,13 @@
+DEBUG = 10
+INFO = 20
+SUCCESS = 25
+WARNING = 30
+ERROR = 40
+
+DEFAULT_TAGS = {
+ DEBUG: 'debug',
+ INFO: 'info',
+ SUCCESS: 'success',
+ WARNING: 'warning',
+ ERROR: 'error',
+}
diff --git a/lib/python2.7/site-packages/django/contrib/messages/context_processors.py b/lib/python2.7/site-packages/django/contrib/messages/context_processors.py
new file mode 100644
index 0000000..26cbcd5
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/context_processors.py
@@ -0,0 +1,8 @@
+from django.contrib.messages.api import get_messages
+
+
+def messages(request):
+ """
+ Returns a lazy 'messages' context variable.
+ """
+ return {'messages': get_messages(request)}
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ar/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/ar/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..e9b1193
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ar/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ar/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/ar/LC_MESSAGES/django.po
new file mode 100644
index 0000000..e6d3ffd
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ar/LC_MESSAGES/django.po
@@ -0,0 +1,23 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Ossama Khayat <okhayat@gmail.com>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Arabic (http://www.transifex.com/projects/p/django/language/"
+"ar/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ar\n"
+"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
+"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "رسالة فارغة"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/az/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/az/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..4116c8c
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/az/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/az/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/az/LC_MESSAGES/django.po
new file mode 100644
index 0000000..1b889d4
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/az/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Ali Ismayilov <ali@ismailov.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Azerbaijani (http://www.transifex.com/projects/p/django/"
+"language/az/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: az\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "tənbəl mesaj"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/be/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/be/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..da58d78
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/be/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/be/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/be/LC_MESSAGES/django.po
new file mode 100644
index 0000000..f01078d
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/be/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Belarusian (http://www.transifex.com/projects/p/django/"
+"language/be/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: be\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "паведамленьне з адкладзеным перакладам"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/bg/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/bg/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..2f66323
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/bg/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/bg/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/bg/LC_MESSAGES/django.po
new file mode 100644
index 0000000..7e857f6
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/bg/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Todor Lube <tlubenov@gmail.com>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Bulgarian (http://www.transifex.com/projects/p/django/"
+"language/bg/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: bg\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "подсказващо съобщение"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/bn/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/bn/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..c368dd9
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/bn/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/bn/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/bn/LC_MESSAGES/django.po
new file mode 100644
index 0000000..5087524
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/bn/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Tahmid Rafi <rafi.tahmid@gmail.com>, 2012
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Bengali (http://www.transifex.com/projects/p/django/language/"
+"bn/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: bn\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "লেজি মেসেজ"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/br/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/br/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..cfcf5de
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/br/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/br/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/br/LC_MESSAGES/django.po
new file mode 100644
index 0000000..d46f6e8
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/br/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Fulup <fulup.jakez@gmail.com>, 2012
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Breton (http://www.transifex.com/projects/p/django/language/"
+"br/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: br\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "kemennadenn \"lazy\""
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/bs/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/bs/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..ff0939a
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/bs/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/bs/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/bs/LC_MESSAGES/django.po
new file mode 100644
index 0000000..6aff9a9
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/bs/LC_MESSAGES/django.po
@@ -0,0 +1,23 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Bosnian (http://www.transifex.com/projects/p/django/language/"
+"bs/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: bs\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "lijena poruka"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ca/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/ca/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..c764c3b
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ca/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ca/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/ca/LC_MESSAGES/django.po
new file mode 100644
index 0000000..2457ea4
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ca/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Catalan (http://www.transifex.com/projects/p/django/language/"
+"ca/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ca\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "missatge gandul"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/cs/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/cs/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..06158db
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/cs/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/cs/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/cs/LC_MESSAGES/django.po
new file mode 100644
index 0000000..e4128d6
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/cs/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Czech (http://www.transifex.com/projects/p/django/language/"
+"cs/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: cs\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "opožděně vyhodnocená zpráva"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/cy/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/cy/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..bac4539
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/cy/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/cy/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/cy/LC_MESSAGES/django.po
new file mode 100644
index 0000000..85f2450
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/cy/LC_MESSAGES/django.po
@@ -0,0 +1,23 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Maredudd ap Gwyndaf <maredudd@maredudd.com>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-10-12 20:35+0000\n"
+"Last-Translator: Maredudd ap Gwyndaf <maredudd@maredudd.com>\n"
+"Language-Team: Welsh (http://www.transifex.com/projects/p/django/language/"
+"cy/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: cy\n"
+"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != "
+"11) ? 2 : 3;\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "neges ddiog"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/da/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/da/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..dd4f6d3
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/da/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/da/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/da/LC_MESSAGES/django.po
new file mode 100644
index 0000000..4163e34
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/da/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Danish (http://www.transifex.com/projects/p/django/language/"
+"da/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: da\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "doven meddelelse"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/de/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/de/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..9752690
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/de/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/de/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/de/LC_MESSAGES/django.po
new file mode 100644
index 0000000..69cd082
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/de/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011,2013
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-06-14 14:54+0000\n"
+"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
+"Language-Team: German (http://www.transifex.com/projects/p/django/language/"
+"de/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: de\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "Lazy-Nachricht"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/el/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/el/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..4dfcb30
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/el/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/el/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/el/LC_MESSAGES/django.po
new file mode 100644
index 0000000..6a7613b
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/el/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Dimitris Glezos <glezos@transifex.com>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Greek (http://www.transifex.com/projects/p/django/language/"
+"el/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: el\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "lazy μήνυμα"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/en/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/en/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..08a7b68
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/en/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/en/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/en/LC_MESSAGES/django.po
new file mode 100644
index 0000000..7a041aa
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/en/LC_MESSAGES/django.po
@@ -0,0 +1,18 @@
+# This file is distributed under the same license as the Django package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Django\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2010-05-13 15:35+0200\n"
+"Last-Translator: Django team\n"
+"Language-Team: English <en@li.org>\n"
+"Language: en\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr ""
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/en_GB/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/en_GB/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..5e6cd8a
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/en_GB/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/en_GB/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/en_GB/LC_MESSAGES/django.po
new file mode 100644
index 0000000..c6668e8
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/en_GB/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# jon_atkinson <jon@jonatkinson.co.uk>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/"
+"django/language/en_GB/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: en_GB\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "lazy message"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/eo/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/eo/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..06e1fbf
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/eo/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/eo/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/eo/LC_MESSAGES/django.po
new file mode 100644
index 0000000..6117eb9
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/eo/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Baptiste <baptiste+transifex@darthenay.fr>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Esperanto (http://www.transifex.com/projects/p/django/"
+"language/eo/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: eo\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "pigra mesaĝo"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/es/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/es/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..1eb560b
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/es/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/es/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/es/LC_MESSAGES/django.po
new file mode 100644
index 0000000..282df1b
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/es/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Spanish (http://www.transifex.com/projects/p/django/language/"
+"es/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: es\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "mensaje vago"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/es_AR/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/es_AR/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..95e32d4
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/es_AR/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/es_AR/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/es_AR/LC_MESSAGES/django.po
new file mode 100644
index 0000000..0130054
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/es_AR/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/"
+"django/language/es_AR/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: es_AR\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "mensaje lazy"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/es_MX/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/es_MX/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..8d261d5
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/es_MX/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/es_MX/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/es_MX/LC_MESSAGES/django.po
new file mode 100644
index 0000000..9b7d77a
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/es_MX/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Abraham Estrada <abraham.estrada@gmail.com>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/django/"
+"language/es_MX/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: es_MX\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "mensaje flojo"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/et/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/et/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..ed91a41
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/et/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/et/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/et/LC_MESSAGES/django.po
new file mode 100644
index 0000000..c3bf518
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/et/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# madisvain <madisvain@gmail.com>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Estonian (http://www.transifex.com/projects/p/django/language/"
+"et/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: et\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "laisk sõnum"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/eu/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/eu/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..403e427
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/eu/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/eu/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/eu/LC_MESSAGES/django.po
new file mode 100644
index 0000000..edd099d
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/eu/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Aitzol Naberan <anaberan@codesyntax.com>, 2012
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Basque (http://www.transifex.com/projects/p/django/language/"
+"eu/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: eu\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "mezu nagia"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/fa/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/fa/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..d6bbfe5
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/fa/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/fa/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/fa/LC_MESSAGES/django.po
new file mode 100644
index 0000000..37889c1
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/fa/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Ali Nikneshan <ali@nikneshan.com>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Persian (http://www.transifex.com/projects/p/django/language/"
+"fa/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: fa\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "پیغام با تاخیر"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/fi/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/fi/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..877b51a
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/fi/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/fi/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/fi/LC_MESSAGES/django.po
new file mode 100644
index 0000000..fbb483f
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/fi/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Finnish (http://www.transifex.com/projects/p/django/language/"
+"fi/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: fi\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "laiska viesti"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/fr/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/fr/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..3507513
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/fr/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/fr/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/fr/LC_MESSAGES/django.po
new file mode 100644
index 0000000..5fab641
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/fr/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: French (http://www.transifex.com/projects/p/django/language/"
+"fr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: fr\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "message « lazy »"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/fy_NL/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/fy_NL/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..9bb7836
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/fy_NL/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/fy_NL/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/fy_NL/LC_MESSAGES/django.po
new file mode 100644
index 0000000..f5173dc
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/fy_NL/LC_MESSAGES/django.po
@@ -0,0 +1,19 @@
+# This file is distributed under the same license as the Django package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Django\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-03-23 02:43+0100\n"
+"PO-Revision-Date: 2011-03-15 15:35+0000\n"
+"Last-Translator: Django team\n"
+"Language-Team: English <en@li.org>\n"
+"Language: fy_NL\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr ""
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ga/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/ga/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..ce5deba
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ga/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ga/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/ga/LC_MESSAGES/django.po
new file mode 100644
index 0000000..1534bb5
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ga/LC_MESSAGES/django.po
@@ -0,0 +1,23 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Irish (http://www.transifex.com/projects/p/django/language/"
+"ga/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ga\n"
+"Plural-Forms: nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : "
+"4);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "teachtaireacht leisciúil"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/gl/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/gl/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..de26211
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/gl/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/gl/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/gl/LC_MESSAGES/django.po
new file mode 100644
index 0000000..518b2e0
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/gl/LC_MESSAGES/django.po
@@ -0,0 +1,23 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# fasouto <fsoutomoure@gmail.com>, 2011
+# Leandro Regueiro <leandro.regueiro@gmail.com>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-09-07 11:51+0000\n"
+"Last-Translator: Leandro Regueiro <leandro.regueiro@gmail.com>\n"
+"Language-Team: Galician (http://www.transifex.com/projects/p/django/language/"
+"gl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: gl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "mensaxe preguiceira"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/he/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/he/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..638d31a
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/he/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/he/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/he/LC_MESSAGES/django.po
new file mode 100644
index 0000000..aab89bb
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/he/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Hebrew (http://www.transifex.com/projects/p/django/language/"
+"he/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: he\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "הודעה 'עצלה'"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/hi/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/hi/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..47bc79e
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/hi/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/hi/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/hi/LC_MESSAGES/django.po
new file mode 100644
index 0000000..6b99eba
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/hi/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Sandeep Satavlekar <sandysat@gmail.com>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Hindi (http://www.transifex.com/projects/p/django/language/"
+"hi/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: hi\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "आलसी संदेश"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/hr/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/hr/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..38b2470
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/hr/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/hr/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/hr/LC_MESSAGES/django.po
new file mode 100644
index 0000000..1146a4d
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/hr/LC_MESSAGES/django.po
@@ -0,0 +1,23 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Croatian (http://www.transifex.com/projects/p/django/language/"
+"hr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: hr\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "lijena poruka (\"lazy message\")"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/hu/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/hu/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..0442e1d
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/hu/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/hu/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/hu/LC_MESSAGES/django.po
new file mode 100644
index 0000000..b14738e
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/hu/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Szilveszter Farkas <szilveszter.farkas@gmail.com>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Hungarian (http://www.transifex.com/projects/p/django/"
+"language/hu/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: hu\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "lusta üzenet"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ia/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/ia/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..634d762
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ia/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ia/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/ia/LC_MESSAGES/django.po
new file mode 100644
index 0000000..e3ab546
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ia/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Martijn Dekker <mcdutchie@hotmail.com>, 2012
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Interlingua (http://www.transifex.com/projects/p/django/"
+"language/ia/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ia\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "message pigre"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/id/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/id/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..db41099
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/id/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/id/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/id/LC_MESSAGES/django.po
new file mode 100644
index 0000000..4e664ba
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/id/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# rodin <romihardiyanto@gmail.com>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Indonesian (http://www.transifex.com/projects/p/django/"
+"language/id/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: id\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "pesan tidak segera"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/is/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/is/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..968b8a5
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/is/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/is/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/is/LC_MESSAGES/django.po
new file mode 100644
index 0000000..aeaa2ad
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/is/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Hafsteinn Einarsson <haffi67@gmail.com>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Icelandic (http://www.transifex.com/projects/p/django/"
+"language/is/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: is\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "letiboð"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/it/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/it/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..a180a42
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/it/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/it/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/it/LC_MESSAGES/django.po
new file mode 100644
index 0000000..760e419
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/it/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Italian (http://www.transifex.com/projects/p/django/language/"
+"it/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: it\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "messaggio lazy"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ja/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/ja/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..e918571
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ja/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ja/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/ja/LC_MESSAGES/django.po
new file mode 100644
index 0000000..34cddd3
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ja/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Japanese (http://www.transifex.com/projects/p/django/language/"
+"ja/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ja\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "遅延メッセージ"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ka/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/ka/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..ff2d70d
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ka/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ka/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/ka/LC_MESSAGES/django.po
new file mode 100644
index 0000000..5914207
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ka/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# David Avsajanishvili <avsd05@gmail.com>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Georgian (http://www.transifex.com/projects/p/django/language/"
+"ka/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ka\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "\"ზარმაცი\" შეტყობინება"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/kk/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/kk/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..b5f95c9
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/kk/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/kk/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/kk/LC_MESSAGES/django.po
new file mode 100644
index 0000000..18a10a8
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/kk/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# yun_man_ger <germanilyin@gmail.com>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Kazakh (http://www.transifex.com/projects/p/django/language/"
+"kk/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: kk\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "еріншек хабар"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/km/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/km/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..6f5fe5a
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/km/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/km/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/km/LC_MESSAGES/django.po
new file mode 100644
index 0000000..cc96123
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/km/LC_MESSAGES/django.po
@@ -0,0 +1,19 @@
+# This file is distributed under the same license as the Django package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Django\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-03-23 02:43+0100\n"
+"PO-Revision-Date: 2011-03-15 15:34+0000\n"
+"Last-Translator: Django team\n"
+"Language-Team: English <en@li.org>\n"
+"Language: km\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr ""
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/kn/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/kn/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..fd8c365
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/kn/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/kn/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/kn/LC_MESSAGES/django.po
new file mode 100644
index 0000000..3bf0f0d
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/kn/LC_MESSAGES/django.po
@@ -0,0 +1,21 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Django\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-10-15 10:57+0200\n"
+"PO-Revision-Date: 2011-01-19 15:38+0000\n"
+"Last-Translator: Django team\n"
+"Language-Team: Kannada (http://www.transifex.com/projects/p/django/language/"
+"kn/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: kn\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: tests/base.py:101
+msgid "lazy message"
+msgstr ""
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ko/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/ko/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..b179e78
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ko/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ko/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/ko/LC_MESSAGES/django.po
new file mode 100644
index 0000000..4bae2ae
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ko/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Korean (http://www.transifex.com/projects/p/django/language/"
+"ko/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ko\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "늦게 번역되는(lazy) 메시지"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/lb/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/lb/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..466cfb4
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/lb/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/lb/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/lb/LC_MESSAGES/django.po
new file mode 100644
index 0000000..e339e64
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/lb/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# sim0n <sim0n@trypill.org>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-11-03 23:26+0000\n"
+"Last-Translator: sim0n <sim0n@trypill.org>\n"
+"Language-Team: Luxembourgish (http://www.transifex.com/projects/p/django/"
+"language/lb/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: lb\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "lidderche Message"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/lt/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/lt/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..627bad3
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/lt/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/lt/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/lt/LC_MESSAGES/django.po
new file mode 100644
index 0000000..5902968
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/lt/LC_MESSAGES/django.po
@@ -0,0 +1,23 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# lauris <lauris@runbox.com>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Lithuanian (http://www.transifex.com/projects/p/django/"
+"language/lt/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: lt\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
+"%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "Uždelsta žinutė"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/lv/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/lv/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..69456bc
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/lv/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/lv/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/lv/LC_MESSAGES/django.po
new file mode 100644
index 0000000..04c69dc
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/lv/LC_MESSAGES/django.po
@@ -0,0 +1,23 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Latvian (http://www.transifex.com/projects/p/django/language/"
+"lv/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: lv\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
+"2);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "ziņojums (slinkais)"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/mk/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/mk/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..5100717
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/mk/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/mk/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/mk/LC_MESSAGES/django.po
new file mode 100644
index 0000000..92d5b07
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/mk/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Macedonian (http://www.transifex.com/projects/p/django/"
+"language/mk/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: mk\n"
+"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "мрзлива порака"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ml/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/ml/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..4d95c1e
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ml/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ml/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/ml/LC_MESSAGES/django.po
new file mode 100644
index 0000000..c58e5af
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ml/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Malayalam (http://www.transifex.com/projects/p/django/"
+"language/ml/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ml\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "അലസ സന്ദേശം"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/mn/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/mn/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..86c2ebb
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/mn/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/mn/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/mn/LC_MESSAGES/django.po
new file mode 100644
index 0000000..5fc82da
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/mn/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Анхбаяр Анхаа <l.ankhbayar@gmail.com>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Mongolian (http://www.transifex.com/projects/p/django/"
+"language/mn/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: mn\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "Удаан мессеж"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/my/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/my/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..d564069
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/my/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/my/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/my/LC_MESSAGES/django.po
new file mode 100644
index 0000000..a834655
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/my/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Yhal Htet Aung <jumoun@gmail.com>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Burmese (http://www.transifex.com/projects/p/django/language/"
+"my/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: my\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "ပျင်းရိမှာကြားချက်"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/nb/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/nb/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..6ad964e
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/nb/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/nb/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/nb/LC_MESSAGES/django.po
new file mode 100644
index 0000000..87ca70f
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/nb/LC_MESSAGES/django.po
@@ -0,0 +1,23 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+# Sigurd Gartmann <sigurdga-transifex@sigurdga.no>, 2012
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Norwegian Bokmål (http://www.transifex.com/projects/p/django/"
+"language/nb/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: nb\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "«lazy»-melding"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ne/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/ne/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..376656e
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ne/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ne/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/ne/LC_MESSAGES/django.po
new file mode 100644
index 0000000..84a7e88
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ne/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Sagar Chalise <chalisesagar@gmail.com>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Nepali (http://www.transifex.com/projects/p/django/language/"
+"ne/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ne\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "सम सन्देश"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/nl/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/nl/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..f2f9b9c
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/nl/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/nl/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/nl/LC_MESSAGES/django.po
new file mode 100644
index 0000000..94336c6
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/nl/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Tino de Bruijn <tinodb@gmail.com>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Dutch (http://www.transifex.com/projects/p/django/language/"
+"nl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: nl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "later vertaald bericht"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/nn/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/nn/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..647b422
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/nn/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/nn/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/nn/LC_MESSAGES/django.po
new file mode 100644
index 0000000..4c6160b
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/nn/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Norwegian Nynorsk (http://www.transifex.com/projects/p/django/"
+"language/nn/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: nn\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "lat melding"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/os/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/os/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..ccec08d
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/os/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/os/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/os/LC_MESSAGES/django.po
new file mode 100644
index 0000000..9dacb28
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/os/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Soslan Khubulov <soslanx@gmail.com>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Ossetic (http://www.transifex.com/projects/p/django/language/"
+"os/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: os\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "зивӕг фыстӕг"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/pa/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/pa/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..7df54f3
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/pa/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/pa/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/pa/LC_MESSAGES/django.po
new file mode 100644
index 0000000..5930d41
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/pa/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# A S Alam <apreet.alam@gmail.com>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-06-23 14:06+0000\n"
+"Last-Translator: A S Alam <apreet.alam@gmail.com>\n"
+"Language-Team: Panjabi (Punjabi) (http://www.transifex.com/projects/p/django/"
+"language/pa/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: pa\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "ਸੁਸਤ ਸੁਨੇਹਾ"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/pl/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/pl/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..b19a149
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/pl/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/pl/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/pl/LC_MESSAGES/django.po
new file mode 100644
index 0000000..a522ced
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/pl/LC_MESSAGES/django.po
@@ -0,0 +1,23 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Polish (http://www.transifex.com/projects/p/django/language/"
+"pl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: pl\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "testowa wiadomość z opóźnioną ewaluacją"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/pt/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/pt/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..6e6f725
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/pt/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/pt/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/pt/LC_MESSAGES/django.po
new file mode 100644
index 0000000..b36fab0
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/pt/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-10-31 16:12+0000\n"
+"Last-Translator: Nuno Mariz <nmariz@gmail.com>\n"
+"Language-Team: Portuguese (http://www.transifex.com/projects/p/django/"
+"language/pt/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: pt\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "mensagem lazy"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/pt_BR/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/pt_BR/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..c3000d6
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/pt_BR/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/pt_BR/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/pt_BR/LC_MESSAGES/django.po
new file mode 100644
index 0000000..149c1dd
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/pt_BR/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/"
+"django/language/pt_BR/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: pt_BR\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "mensagem lazy"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ro/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/ro/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..3f62e6b
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ro/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ro/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/ro/LC_MESSAGES/django.po
new file mode 100644
index 0000000..d863beb
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ro/LC_MESSAGES/django.po
@@ -0,0 +1,23 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Daniel Ursache-Dogariu <contact@danniel.net>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Romanian (http://www.transifex.com/projects/p/django/language/"
+"ro/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ro\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "mesaj întârziat"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ru/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/ru/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..42443c3
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ru/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ru/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/ru/LC_MESSAGES/django.po
new file mode 100644
index 0000000..1d6f173
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ru/LC_MESSAGES/django.po
@@ -0,0 +1,23 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Russian (http://www.transifex.com/projects/p/django/language/"
+"ru/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ru\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "сообщение с отложенным переводом"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/sk/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/sk/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..9515288
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/sk/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/sk/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/sk/LC_MESSAGES/django.po
new file mode 100644
index 0000000..e642ed0
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/sk/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-06-16 12:46+0000\n"
+"Last-Translator: Marian Andre <marian@andre.sk>\n"
+"Language-Team: Slovak (http://www.transifex.com/projects/p/django/language/"
+"sk/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: sk\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "lenivá správa"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/sl/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/sl/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..2747540
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/sl/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/sl/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/sl/LC_MESSAGES/django.po
new file mode 100644
index 0000000..3dfa82d
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/sl/LC_MESSAGES/django.po
@@ -0,0 +1,24 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+# mateju <>, 2012
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Slovenian (http://www.transifex.com/projects/p/django/"
+"language/sl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: sl\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
+"%100==4 ? 2 : 3);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "leno sporočilo"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/sq/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/sq/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..1f111f7
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/sq/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/sq/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/sq/LC_MESSAGES/django.po
new file mode 100644
index 0000000..8f48766
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/sq/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Besnik <besnik@programeshqip.org>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Albanian (http://www.transifex.com/projects/p/django/language/"
+"sq/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: sq\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "mesazh i vagullt"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/sr/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/sr/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..fc3db84
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/sr/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/sr/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/sr/LC_MESSAGES/django.po
new file mode 100644
index 0000000..59cede6
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/sr/LC_MESSAGES/django.po
@@ -0,0 +1,23 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Serbian (http://www.transifex.com/projects/p/django/language/"
+"sr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: sr\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "порука"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/sr_Latn/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/sr_Latn/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..dee9256
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/sr_Latn/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/sr_Latn/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/sr_Latn/LC_MESSAGES/django.po
new file mode 100644
index 0000000..f06be72
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/sr_Latn/LC_MESSAGES/django.po
@@ -0,0 +1,23 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/django/"
+"language/sr@latin/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: sr@latin\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "poruka"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/sv/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/sv/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..d0b56f5
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/sv/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/sv/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/sv/LC_MESSAGES/django.po
new file mode 100644
index 0000000..d914b1a
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/sv/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Andreas Pelme <andreas@pelme.se>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Swedish (http://www.transifex.com/projects/p/django/language/"
+"sv/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: sv\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "\"lazy\"-meddelande"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/sw/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/sw/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..1e81dd0
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/sw/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/sw/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/sw/LC_MESSAGES/django.po
new file mode 100644
index 0000000..90f7586
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/sw/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# machaku <bmachaku@gmail.com>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-11-19 16:43+0000\n"
+"Last-Translator: machaku <bmachaku@gmail.com>\n"
+"Language-Team: Swahili (http://www.transifex.com/projects/p/django/language/"
+"sw/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: sw\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "ujumbe zembe"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ta/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/ta/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..f3ecf43
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ta/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ta/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/ta/LC_MESSAGES/django.po
new file mode 100644
index 0000000..e58d3b5
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ta/LC_MESSAGES/django.po
@@ -0,0 +1,21 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Django\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-10-15 10:57+0200\n"
+"PO-Revision-Date: 2011-01-19 15:38+0000\n"
+"Last-Translator: Django team\n"
+"Language-Team: Tamil (http://www.transifex.com/projects/p/django/language/"
+"ta/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ta\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:101
+msgid "lazy message"
+msgstr ""
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/te/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/te/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..bcf0dc7
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/te/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/te/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/te/LC_MESSAGES/django.po
new file mode 100644
index 0000000..5e8c0f9
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/te/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# bhaskar teja yerneni <prudhviy@gmail.com>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Telugu (http://www.transifex.com/projects/p/django/language/"
+"te/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: te\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "మందమైన సందేశం"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/th/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/th/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..ffdaf74
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/th/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/th/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/th/LC_MESSAGES/django.po
new file mode 100644
index 0000000..c5e4fd6
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/th/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Kowit Charoenratchatabhan <kowit.s.c@gmail.com>, 2012
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Thai (http://www.transifex.com/projects/p/django/language/"
+"th/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: th\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "ข้อความเฉื่อย"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/tr/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/tr/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..055e2b9
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/tr/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/tr/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/tr/LC_MESSAGES/django.po
new file mode 100644
index 0000000..00d6158
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/tr/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Jannis Leidel <jannis@leidel.info>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Turkish (http://www.transifex.com/projects/p/django/language/"
+"tr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: tr\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "tembel mesaj"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/tt/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/tt/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..5a11177
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/tt/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/tt/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/tt/LC_MESSAGES/django.po
new file mode 100644
index 0000000..395e1ab
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/tt/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Azat Khasanshin <lordofbazuks@gmail.com>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Tatar (http://www.transifex.com/projects/p/django/language/"
+"tt/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: tt\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "ялкау хәбәр"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/uk/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/uk/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..ee4320b
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/uk/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/uk/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/uk/LC_MESSAGES/django.po
new file mode 100644
index 0000000..d9a4863
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/uk/LC_MESSAGES/django.po
@@ -0,0 +1,23 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Sergey Lysach <sergikoff88@gmail.com>, 2012
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Ukrainian (http://www.transifex.com/projects/p/django/"
+"language/uk/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: uk\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "повідомлення з відкладеним перекладом"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ur/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/ur/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..f411ff4
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ur/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/ur/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/ur/LC_MESSAGES/django.po
new file mode 100644
index 0000000..c4e7851
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/ur/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Mansoorulhaq Mansoor <mansoorulhaq1986@gmail.com>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Urdu (http://www.transifex.com/projects/p/django/language/"
+"ur/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ur\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "سست پیغام"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/vi/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/vi/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..59af6c2
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/vi/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/vi/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/vi/LC_MESSAGES/django.po
new file mode 100644
index 0000000..4e178b4
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/vi/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Vuong Nguyen <autalpha@gmail.com>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Vietnamese (http://www.transifex.com/projects/p/django/"
+"language/vi/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: vi\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "tin nhắn lười biếng"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/zh_CN/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/zh_CN/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..36109ee
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/zh_CN/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/zh_CN/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/zh_CN/LC_MESSAGES/django.po
new file mode 100644
index 0000000..57bd36b
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/zh_CN/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# Lele Long <schemacs@gmail.com>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/django/"
+"language/zh_CN/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: zh_CN\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "惰性翻译的消息"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/zh_TW/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/messages/locale/zh_TW/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..a11ce6d
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/zh_TW/LC_MESSAGES/django.mo
Binary files differ
diff --git a/lib/python2.7/site-packages/django/contrib/messages/locale/zh_TW/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/messages/locale/zh_TW/LC_MESSAGES/django.po
new file mode 100644
index 0000000..0257f17
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/locale/zh_TW/LC_MESSAGES/django.po
@@ -0,0 +1,22 @@
+# This file is distributed under the same license as the Django package.
+#
+# Translators:
+# ming hsien tzang <tzangms@gmail.com>, 2011
+msgid ""
+msgstr ""
+"Project-Id-Version: django-core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-02 16:18+0200\n"
+"PO-Revision-Date: 2013-04-29 08:30+0000\n"
+"Last-Translator: claudep <claude@2xlibre.net>\n"
+"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/django/"
+"language/zh_TW/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: zh_TW\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: tests/base.py:100
+msgid "lazy message"
+msgstr "惰式訊息"
diff --git a/lib/python2.7/site-packages/django/contrib/messages/middleware.py b/lib/python2.7/site-packages/django/contrib/messages/middleware.py
new file mode 100644
index 0000000..a84dc6c
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/middleware.py
@@ -0,0 +1,26 @@
+from django.conf import settings
+from django.contrib.messages.storage import default_storage
+
+
+class MessageMiddleware(object):
+ """
+ Middleware that handles temporary messages.
+ """
+
+ def process_request(self, request):
+ request._messages = default_storage(request)
+
+ def process_response(self, request, response):
+ """
+ Updates the storage backend (i.e., saves the messages).
+
+ If not all messages could not be stored and ``DEBUG`` is ``True``, a
+ ``ValueError`` is raised.
+ """
+ # A higher middleware layer may return a request which does not contain
+ # messages storage, so make no assumption that it will be there.
+ if hasattr(request, '_messages'):
+ unstored_messages = request._messages.update(response)
+ if unstored_messages and settings.DEBUG:
+ raise ValueError('Not all temporary messages could be stored.')
+ return response
diff --git a/lib/python2.7/site-packages/django/contrib/messages/models.py b/lib/python2.7/site-packages/django/contrib/messages/models.py
new file mode 100644
index 0000000..4f656f5
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/models.py
@@ -0,0 +1 @@
+# Models module required so tests are discovered.
diff --git a/lib/python2.7/site-packages/django/contrib/messages/storage/__init__.py b/lib/python2.7/site-packages/django/contrib/messages/storage/__init__.py
new file mode 100644
index 0000000..9a09aff
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/storage/__init__.py
@@ -0,0 +1,8 @@
+from django.conf import settings
+from django.utils.module_loading import import_by_path as get_storage
+
+
+# Callable with the same interface as the storage classes i.e. accepts a
+# 'request' object. It is wrapped in a lambda to stop 'settings' being used at
+# the module level
+default_storage = lambda request: get_storage(settings.MESSAGE_STORAGE)(request)
diff --git a/lib/python2.7/site-packages/django/contrib/messages/storage/base.py b/lib/python2.7/site-packages/django/contrib/messages/storage/base.py
new file mode 100644
index 0000000..7fe8a07
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/storage/base.py
@@ -0,0 +1,184 @@
+from __future__ import unicode_literals
+
+from django.conf import settings
+from django.utils.encoding import force_text, python_2_unicode_compatible
+from django.contrib.messages import constants, utils
+
+
+LEVEL_TAGS = utils.get_level_tags()
+
+
+@python_2_unicode_compatible
+class Message(object):
+ """
+ Represents an actual message that can be stored in any of the supported
+ storage classes (typically session- or cookie-based) and rendered in a view
+ or template.
+ """
+
+ def __init__(self, level, message, extra_tags=None):
+ self.level = int(level)
+ self.message = message
+ self.extra_tags = extra_tags
+
+ def _prepare(self):
+ """
+ Prepares the message for serialization by forcing the ``message``
+ and ``extra_tags`` to unicode in case they are lazy translations.
+
+ Known "safe" types (None, int, etc.) are not converted (see Django's
+ ``force_text`` implementation for details).
+ """
+ self.message = force_text(self.message, strings_only=True)
+ self.extra_tags = force_text(self.extra_tags, strings_only=True)
+
+ def __eq__(self, other):
+ return isinstance(other, Message) and self.level == other.level and \
+ self.message == other.message
+
+ def __str__(self):
+ return force_text(self.message)
+
+ def _get_tags(self):
+ label_tag = force_text(LEVEL_TAGS.get(self.level, ''),
+ strings_only=True)
+ extra_tags = force_text(self.extra_tags, strings_only=True)
+ if extra_tags and label_tag:
+ return ' '.join([extra_tags, label_tag])
+ elif extra_tags:
+ return extra_tags
+ elif label_tag:
+ return label_tag
+ return ''
+ tags = property(_get_tags)
+
+
+class BaseStorage(object):
+ """
+ This is the base backend for temporary message storage.
+
+ This is not a complete class; to be a usable storage backend, it must be
+ subclassed and the two methods ``_get`` and ``_store`` overridden.
+ """
+
+ def __init__(self, request, *args, **kwargs):
+ self.request = request
+ self._queued_messages = []
+ self.used = False
+ self.added_new = False
+ super(BaseStorage, self).__init__(*args, **kwargs)
+
+ def __len__(self):
+ return len(self._loaded_messages) + len(self._queued_messages)
+
+ def __iter__(self):
+ self.used = True
+ if self._queued_messages:
+ self._loaded_messages.extend(self._queued_messages)
+ self._queued_messages = []
+ return iter(self._loaded_messages)
+
+ def __contains__(self, item):
+ return item in self._loaded_messages or item in self._queued_messages
+
+ @property
+ def _loaded_messages(self):
+ """
+ Returns a list of loaded messages, retrieving them first if they have
+ not been loaded yet.
+ """
+ if not hasattr(self, '_loaded_data'):
+ messages, all_retrieved = self._get()
+ self._loaded_data = messages or []
+ return self._loaded_data
+
+ def _get(self, *args, **kwargs):
+ """
+ Retrieves a list of stored messages. Returns a tuple of the messages
+ and a flag indicating whether or not all the messages originally
+ intended to be stored in this storage were, in fact, stored and
+ retrieved; e.g., ``(messages, all_retrieved)``.
+
+ **This method must be implemented by a subclass.**
+
+ If it is possible to tell if the backend was not used (as opposed to
+ just containing no messages) then ``None`` should be returned in
+ place of ``messages``.
+ """
+ raise NotImplementedError()
+
+ def _store(self, messages, response, *args, **kwargs):
+ """
+ Stores a list of messages, returning a list of any messages which could
+ not be stored.
+
+ One type of object must be able to be stored, ``Message``.
+
+ **This method must be implemented by a subclass.**
+ """
+ raise NotImplementedError()
+
+ def _prepare_messages(self, messages):
+ """
+ Prepares a list of messages for storage.
+ """
+ for message in messages:
+ message._prepare()
+
+ def update(self, response):
+ """
+ Stores all unread messages.
+
+ If the backend has yet to be iterated, previously stored messages will
+ be stored again. Otherwise, only messages added after the last
+ iteration will be stored.
+ """
+ self._prepare_messages(self._queued_messages)
+ if self.used:
+ return self._store(self._queued_messages, response)
+ elif self.added_new:
+ messages = self._loaded_messages + self._queued_messages
+ return self._store(messages, response)
+
+ def add(self, level, message, extra_tags=''):
+ """
+ Queues a message to be stored.
+
+ The message is only queued if it contained something and its level is
+ not less than the recording level (``self.level``).
+ """
+ if not message:
+ return
+ # Check that the message level is not less than the recording level.
+ level = int(level)
+ if level < self.level:
+ return
+ # Add the message.
+ self.added_new = True
+ message = Message(level, message, extra_tags=extra_tags)
+ self._queued_messages.append(message)
+
+ def _get_level(self):
+ """
+ Returns the minimum recorded level.
+
+ The default level is the ``MESSAGE_LEVEL`` setting. If this is
+ not found, the ``INFO`` level is used.
+ """
+ if not hasattr(self, '_level'):
+ self._level = getattr(settings, 'MESSAGE_LEVEL', constants.INFO)
+ return self._level
+
+ def _set_level(self, value=None):
+ """
+ Sets a custom minimum recorded level.
+
+ If set to ``None``, the default level will be used (see the
+ ``_get_level`` method).
+ """
+ if value is None and hasattr(self, '_level'):
+ del self._level
+ else:
+ self._level = int(value)
+
+ level = property(_get_level, _set_level, _set_level)
diff --git a/lib/python2.7/site-packages/django/contrib/messages/storage/cookie.py b/lib/python2.7/site-packages/django/contrib/messages/storage/cookie.py
new file mode 100644
index 0000000..619c692
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/storage/cookie.py
@@ -0,0 +1,158 @@
+import json
+
+from django.conf import settings
+from django.contrib.messages.storage.base import BaseStorage, Message
+from django.http import SimpleCookie
+from django.utils.crypto import salted_hmac, constant_time_compare
+from django.utils.safestring import SafeData, mark_safe
+from django.utils import six
+
+
+class MessageEncoder(json.JSONEncoder):
+ """
+ Compactly serializes instances of the ``Message`` class as JSON.
+ """
+ message_key = '__json_message'
+
+ def default(self, obj):
+ if isinstance(obj, Message):
+ # Using 0/1 here instead of False/True to produce more compact json
+ is_safedata = 1 if isinstance(obj.message, SafeData) else 0
+ message = [self.message_key, is_safedata, obj.level, obj.message]
+ if obj.extra_tags:
+ message.append(obj.extra_tags)
+ return message
+ return super(MessageEncoder, self).default(obj)
+
+
+class MessageDecoder(json.JSONDecoder):
+ """
+ Decodes JSON that includes serialized ``Message`` instances.
+ """
+
+ def process_messages(self, obj):
+ if isinstance(obj, list) and obj:
+ if obj[0] == MessageEncoder.message_key:
+ if obj[1]:
+ obj[3] = mark_safe(obj[3])
+ return Message(*obj[2:])
+ return [self.process_messages(item) for item in obj]
+ if isinstance(obj, dict):
+ return dict([(key, self.process_messages(value))
+ for key, value in six.iteritems(obj)])
+ return obj
+
+ def decode(self, s, **kwargs):
+ decoded = super(MessageDecoder, self).decode(s, **kwargs)
+ return self.process_messages(decoded)
+
+class CookieStorage(BaseStorage):
+ """
+ Stores messages in a cookie.
+ """
+ cookie_name = 'messages'
+ # uwsgi's default configuration enforces a maximum size of 4kb for all the
+ # HTTP headers. In order to leave some room for other cookies and headers,
+ # restrict the session cookie to 1/2 of 4kb. See #18781.
+ max_cookie_size = 2048
+ not_finished = '__messagesnotfinished__'
+
+ def _get(self, *args, **kwargs):
+ """
+ Retrieves a list of messages from the messages cookie. If the
+ not_finished sentinel value is found at the end of the message list,
+ remove it and return a result indicating that not all messages were
+ retrieved by this storage.
+ """
+ data = self.request.COOKIES.get(self.cookie_name)
+ messages = self._decode(data)
+ all_retrieved = not (messages and messages[-1] == self.not_finished)
+ if messages and not all_retrieved:
+ # remove the sentinel value
+ messages.pop()
+ return messages, all_retrieved
+
+ def _update_cookie(self, encoded_data, response):
+ """
+ Either sets the cookie with the encoded data if there is any data to
+ store, or deletes the cookie.
+ """
+ if encoded_data:
+ response.set_cookie(self.cookie_name, encoded_data,
+ domain=settings.SESSION_COOKIE_DOMAIN)
+ else:
+ response.delete_cookie(self.cookie_name,
+ domain=settings.SESSION_COOKIE_DOMAIN)
+
+ def _store(self, messages, response, remove_oldest=True, *args, **kwargs):
+ """
+ Stores the messages to a cookie, returning a list of any messages which
+ could not be stored.
+
+ If the encoded data is larger than ``max_cookie_size``, removes
+ messages until the data fits (these are the messages which are
+ returned), and add the not_finished sentinel value to indicate as much.
+ """
+ unstored_messages = []
+ encoded_data = self._encode(messages)
+ if self.max_cookie_size:
+ # data is going to be stored eventually by SimpleCookie, which
+ # adds it's own overhead, which we must account for.
+ cookie = SimpleCookie() # create outside the loop
+ def stored_length(val):
+ return len(cookie.value_encode(val)[1])
+
+ while encoded_data and stored_length(encoded_data) > self.max_cookie_size:
+ if remove_oldest:
+ unstored_messages.append(messages.pop(0))
+ else:
+ unstored_messages.insert(0, messages.pop())
+ encoded_data = self._encode(messages + [self.not_finished],
+ encode_empty=unstored_messages)
+ self._update_cookie(encoded_data, response)
+ return unstored_messages
+
+ def _hash(self, value):
+ """
+ Creates an HMAC/SHA1 hash based on the value and the project setting's
+ SECRET_KEY, modified to make it unique for the present purpose.
+ """
+ key_salt = 'django.contrib.messages'
+ return salted_hmac(key_salt, value).hexdigest()
+
+ def _encode(self, messages, encode_empty=False):
+ """
+ Returns an encoded version of the messages list which can be stored as
+ plain text.
+
+ Since the data will be retrieved from the client-side, the encoded data
+ also contains a hash to ensure that the data was not tampered with.
+ """
+ if messages or encode_empty:
+ encoder = MessageEncoder(separators=(',', ':'))
+ value = encoder.encode(messages)
+ return '%s$%s' % (self._hash(value), value)
+
+ def _decode(self, data):
+ """
+ Safely decodes a encoded text stream back into a list of messages.
+
+ If the encoded text stream contained an invalid hash or was in an
+ invalid format, ``None`` is returned.
+ """
+ if not data:
+ return None
+ bits = data.split('$', 1)
+ if len(bits) == 2:
+ hash, value = bits
+ if constant_time_compare(hash, self._hash(value)):
+ try:
+ # If we get here (and the JSON decode works), everything is
+ # good. In any other case, drop back and return None.
+ return json.loads(value, cls=MessageDecoder)
+ except ValueError:
+ pass
+ # Mark the data as used (so it gets removed) since something was wrong
+ # with the data.
+ self.used = True
+ return None
diff --git a/lib/python2.7/site-packages/django/contrib/messages/storage/fallback.py b/lib/python2.7/site-packages/django/contrib/messages/storage/fallback.py
new file mode 100644
index 0000000..6c35343
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/storage/fallback.py
@@ -0,0 +1,54 @@
+from django.contrib.messages.storage.base import BaseStorage
+from django.contrib.messages.storage.cookie import CookieStorage
+from django.contrib.messages.storage.session import SessionStorage
+
+class FallbackStorage(BaseStorage):
+ """
+ Tries to store all messages in the first backend, storing any unstored
+ messages in each subsequent backend backend.
+ """
+ storage_classes = (CookieStorage, SessionStorage)
+
+ def __init__(self, *args, **kwargs):
+ super(FallbackStorage, self).__init__(*args, **kwargs)
+ self.storages = [storage_class(*args, **kwargs)
+ for storage_class in self.storage_classes]
+ self._used_storages = set()
+
+ def _get(self, *args, **kwargs):
+ """
+ Gets a single list of messages from all storage backends.
+ """
+ all_messages = []
+ for storage in self.storages:
+ messages, all_retrieved = storage._get()
+ # If the backend hasn't been used, no more retrieval is necessary.
+ if messages is None:
+ break
+ if messages:
+ self._used_storages.add(storage)
+ all_messages.extend(messages)
+ # If this storage class contained all the messages, no further
+ # retrieval is necessary
+ if all_retrieved:
+ break
+ return all_messages, all_retrieved
+
+ def _store(self, messages, response, *args, **kwargs):
+ """
+ Stores the messages, returning any unstored messages after trying all
+ backends.
+
+ For each storage backend, any messages not stored are passed on to the
+ next backend.
+ """
+ for storage in self.storages:
+ if messages:
+ messages = storage._store(messages, response,
+ remove_oldest=False)
+ # Even if there are no more messages, continue iterating to ensure
+ # storages which contained messages are flushed.
+ elif storage in self._used_storages:
+ storage._store([], response)
+ self._used_storages.remove(storage)
+ return messages
diff --git a/lib/python2.7/site-packages/django/contrib/messages/storage/session.py b/lib/python2.7/site-packages/django/contrib/messages/storage/session.py
new file mode 100644
index 0000000..c3e293c
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/storage/session.py
@@ -0,0 +1,46 @@
+import json
+
+from django.contrib.messages.storage.base import BaseStorage
+from django.contrib.messages.storage.cookie import MessageEncoder, MessageDecoder
+from django.utils import six
+
+
+class SessionStorage(BaseStorage):
+ """
+ Stores messages in the session (that is, django.contrib.sessions).
+ """
+ session_key = '_messages'
+
+ def __init__(self, request, *args, **kwargs):
+ assert hasattr(request, 'session'), "The session-based temporary "\
+ "message storage requires session middleware to be installed, "\
+ "and come before the message middleware in the "\
+ "MIDDLEWARE_CLASSES list."
+ super(SessionStorage, self).__init__(request, *args, **kwargs)
+
+ def _get(self, *args, **kwargs):
+ """
+ Retrieves a list of messages from the request's session. This storage
+ always stores everything it is given, so return True for the
+ all_retrieved flag.
+ """
+ return self.deserialize_messages(self.request.session.get(self.session_key)), True
+
+ def _store(self, messages, response, *args, **kwargs):
+ """
+ Stores a list of messages to the request's session.
+ """
+ if messages:
+ self.request.session[self.session_key] = self.serialize_messages(messages)
+ else:
+ self.request.session.pop(self.session_key, None)
+ return []
+
+ def serialize_messages(self, messages):
+ encoder = MessageEncoder(separators=(',', ':'))
+ return encoder.encode(messages)
+
+ def deserialize_messages(self, data):
+ if data and isinstance(data, six.string_types):
+ return json.loads(data, cls=MessageDecoder)
+ return data
diff --git a/lib/python2.7/site-packages/django/contrib/messages/tests/__init__.py b/lib/python2.7/site-packages/django/contrib/messages/tests/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/tests/__init__.py
diff --git a/lib/python2.7/site-packages/django/contrib/messages/tests/base.py b/lib/python2.7/site-packages/django/contrib/messages/tests/base.py
new file mode 100644
index 0000000..f8a089c
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/tests/base.py
@@ -0,0 +1,368 @@
+from django import http
+from django.conf import settings, global_settings
+from django.contrib.messages import constants, utils, get_level, set_level
+from django.contrib.messages.api import MessageFailure
+from django.contrib.messages.storage import default_storage, base
+from django.contrib.messages.storage.base import Message
+from django.core.urlresolvers import reverse
+from django.test.utils import override_settings
+from django.utils.translation import ugettext_lazy
+from django.utils.unittest import skipIf
+
+
+def skipUnlessAuthIsInstalled(func):
+ return skipIf(
+ 'django.contrib.auth' not in settings.INSTALLED_APPS,
+ "django.contrib.auth isn't installed")(func)
+
+
+def add_level_messages(storage):
+ """
+ Adds 6 messages from different levels (including a custom one) to a storage
+ instance.
+ """
+ storage.add(constants.INFO, 'A generic info message')
+ storage.add(29, 'Some custom level')
+ storage.add(constants.DEBUG, 'A debugging message', extra_tags='extra-tag')
+ storage.add(constants.WARNING, 'A warning')
+ storage.add(constants.ERROR, 'An error')
+ storage.add(constants.SUCCESS, 'This was a triumph.')
+
+
+class override_settings_tags(override_settings):
+ def enable(self):
+ super(override_settings_tags, self).enable()
+ # LEVEL_TAGS is a constant defined in the
+ # django.contrib.messages.storage.base module, so after changing
+ # settings.MESSAGE_TAGS, we need to update that constant too.
+ self.old_level_tags = base.LEVEL_TAGS
+ base.LEVEL_TAGS = utils.get_level_tags()
+ def disable(self):
+ super(override_settings_tags, self).disable()
+ base.LEVEL_TAGS = self.old_level_tags
+
+
+class BaseTests(object):
+ storage_class = default_storage
+ urls = 'django.contrib.messages.tests.urls'
+ levels = {
+ 'debug': constants.DEBUG,
+ 'info': constants.INFO,
+ 'success': constants.SUCCESS,
+ 'warning': constants.WARNING,
+ 'error': constants.ERROR,
+ }
+
+ def setUp(self):
+ self.settings_override = override_settings_tags(
+ TEMPLATE_DIRS = (),
+ TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS,
+ MESSAGE_TAGS = '',
+ MESSAGE_STORAGE = '%s.%s' % (self.storage_class.__module__,
+ self.storage_class.__name__),
+ SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer',
+ )
+ self.settings_override.enable()
+
+ def tearDown(self):
+ self.settings_override.disable()
+
+ def get_request(self):
+ return http.HttpRequest()
+
+ def get_response(self):
+ return http.HttpResponse()
+
+ def get_storage(self, data=None):
+ """
+ Returns the storage backend, setting its loaded data to the ``data``
+ argument.
+
+ This method avoids the storage ``_get`` method from getting called so
+ that other parts of the storage backend can be tested independent of
+ the message retrieval logic.
+ """
+ storage = self.storage_class(self.get_request())
+ storage._loaded_data = data or []
+ return storage
+
+ def test_add(self):
+ storage = self.get_storage()
+ self.assertFalse(storage.added_new)
+ storage.add(constants.INFO, 'Test message 1')
+ self.assertTrue(storage.added_new)
+ storage.add(constants.INFO, 'Test message 2', extra_tags='tag')
+ self.assertEqual(len(storage), 2)
+
+ def test_add_lazy_translation(self):
+ storage = self.get_storage()
+ response = self.get_response()
+
+ storage.add(constants.INFO, ugettext_lazy('lazy message'))
+ storage.update(response)
+
+ storing = self.stored_messages_count(storage, response)
+ self.assertEqual(storing, 1)
+
+ def test_no_update(self):
+ storage = self.get_storage()
+ response = self.get_response()
+ storage.update(response)
+ storing = self.stored_messages_count(storage, response)
+ self.assertEqual(storing, 0)
+
+ def test_add_update(self):
+ storage = self.get_storage()
+ response = self.get_response()
+
+ storage.add(constants.INFO, 'Test message 1')
+ storage.add(constants.INFO, 'Test message 1', extra_tags='tag')
+ storage.update(response)
+
+ storing = self.stored_messages_count(storage, response)
+ self.assertEqual(storing, 2)
+
+ def test_existing_add_read_update(self):
+ storage = self.get_existing_storage()
+ response = self.get_response()
+
+ storage.add(constants.INFO, 'Test message 3')
+ list(storage) # Simulates a read
+ storage.update(response)
+
+ storing = self.stored_messages_count(storage, response)
+ self.assertEqual(storing, 0)
+
+ def test_existing_read_add_update(self):
+ storage = self.get_existing_storage()
+ response = self.get_response()
+
+ list(storage) # Simulates a read
+ storage.add(constants.INFO, 'Test message 3')
+ storage.update(response)
+
+ storing = self.stored_messages_count(storage, response)
+ self.assertEqual(storing, 1)
+
+ @override_settings(MESSAGE_LEVEL=constants.DEBUG)
+ def test_full_request_response_cycle(self):
+ """
+ With the message middleware enabled, tests that messages are properly
+ stored and then retrieved across the full request/redirect/response
+ cycle.
+ """
+ data = {
+ 'messages': ['Test message %d' % x for x in range(5)],
+ }
+ show_url = reverse('django.contrib.messages.tests.urls.show')
+ for level in ('debug', 'info', 'success', 'warning', 'error'):
+ add_url = reverse('django.contrib.messages.tests.urls.add',
+ args=(level,))
+ response = self.client.post(add_url, data, follow=True)
+ self.assertRedirects(response, show_url)
+ self.assertTrue('messages' in response.context)
+ messages = [Message(self.levels[level], msg) for msg in
+ data['messages']]
+ self.assertEqual(list(response.context['messages']), messages)
+ for msg in data['messages']:
+ self.assertContains(response, msg)
+
+ @override_settings(MESSAGE_LEVEL=constants.DEBUG)
+ def test_with_template_response(self):
+ data = {
+ 'messages': ['Test message %d' % x for x in range(5)],
+ }
+ show_url = reverse('django.contrib.messages.tests.urls.show_template_response')
+ for level in self.levels.keys():
+ add_url = reverse('django.contrib.messages.tests.urls.add_template_response',
+ args=(level,))
+ response = self.client.post(add_url, data, follow=True)
+ self.assertRedirects(response, show_url)
+ self.assertTrue('messages' in response.context)
+ for msg in data['messages']:
+ self.assertContains(response, msg)
+
+ # there shouldn't be any messages on second GET request
+ response = self.client.get(show_url)
+ for msg in data['messages']:
+ self.assertNotContains(response, msg)
+
+ @override_settings(MESSAGE_LEVEL=constants.DEBUG)
+ def test_multiple_posts(self):
+ """
+ Tests that messages persist properly when multiple POSTs are made
+ before a GET.
+ """
+ data = {
+ 'messages': ['Test message %d' % x for x in range(5)],
+ }
+ show_url = reverse('django.contrib.messages.tests.urls.show')
+ messages = []
+ for level in ('debug', 'info', 'success', 'warning', 'error'):
+ messages.extend([Message(self.levels[level], msg) for msg in
+ data['messages']])
+ add_url = reverse('django.contrib.messages.tests.urls.add',
+ args=(level,))
+ self.client.post(add_url, data)
+ response = self.client.get(show_url)
+ self.assertTrue('messages' in response.context)
+ self.assertEqual(list(response.context['messages']), messages)
+ for msg in data['messages']:
+ self.assertContains(response, msg)
+
+ @override_settings(
+ INSTALLED_APPS=filter(
+ lambda app:app!='django.contrib.messages', settings.INSTALLED_APPS),
+ MIDDLEWARE_CLASSES=filter(
+ lambda m:'MessageMiddleware' not in m, settings.MIDDLEWARE_CLASSES),
+ TEMPLATE_CONTEXT_PROCESSORS=filter(
+ lambda p:'context_processors.messages' not in p,
+ settings.TEMPLATE_CONTEXT_PROCESSORS),
+ MESSAGE_LEVEL=constants.DEBUG
+ )
+ def test_middleware_disabled(self):
+ """
+ Tests that, when the middleware is disabled, an exception is raised
+ when one attempts to store a message.
+ """
+ data = {
+ 'messages': ['Test message %d' % x for x in range(5)],
+ }
+ show_url = reverse('django.contrib.messages.tests.urls.show')
+ for level in ('debug', 'info', 'success', 'warning', 'error'):
+ add_url = reverse('django.contrib.messages.tests.urls.add',
+ args=(level,))
+ self.assertRaises(MessageFailure, self.client.post, add_url,
+ data, follow=True)
+
+ @override_settings(
+ INSTALLED_APPS=filter(
+ lambda app:app!='django.contrib.messages', settings.INSTALLED_APPS),
+ MIDDLEWARE_CLASSES=filter(
+ lambda m:'MessageMiddleware' not in m, settings.MIDDLEWARE_CLASSES),
+ TEMPLATE_CONTEXT_PROCESSORS=filter(
+ lambda p:'context_processors.messages' not in p,
+ settings.TEMPLATE_CONTEXT_PROCESSORS),
+ MESSAGE_LEVEL=constants.DEBUG
+ )
+ def test_middleware_disabled_fail_silently(self):
+ """
+ Tests that, when the middleware is disabled, an exception is not
+ raised if 'fail_silently' = True
+ """
+ data = {
+ 'messages': ['Test message %d' % x for x in range(5)],
+ 'fail_silently': True,
+ }
+ show_url = reverse('django.contrib.messages.tests.urls.show')
+ for level in ('debug', 'info', 'success', 'warning', 'error'):
+ add_url = reverse('django.contrib.messages.tests.urls.add',
+ args=(level,))
+ response = self.client.post(add_url, data, follow=True)
+ self.assertRedirects(response, show_url)
+ self.assertFalse('messages' in response.context)
+
+ def stored_messages_count(self, storage, response):
+ """
+ Returns the number of messages being stored after a
+ ``storage.update()`` call.
+ """
+ raise NotImplementedError('This method must be set by a subclass.')
+
+ def test_get(self):
+ raise NotImplementedError('This method must be set by a subclass.')
+
+ def get_existing_storage(self):
+ return self.get_storage([Message(constants.INFO, 'Test message 1'),
+ Message(constants.INFO, 'Test message 2',
+ extra_tags='tag')])
+
+ def test_existing_read(self):
+ """
+ Tests that reading the existing storage doesn't cause the data to be
+ lost.
+ """
+ storage = self.get_existing_storage()
+ self.assertFalse(storage.used)
+ # After iterating the storage engine directly, the used flag is set.
+ data = list(storage)
+ self.assertTrue(storage.used)
+ # The data does not disappear because it has been iterated.
+ self.assertEqual(data, list(storage))
+
+ def test_existing_add(self):
+ storage = self.get_existing_storage()
+ self.assertFalse(storage.added_new)
+ storage.add(constants.INFO, 'Test message 3')
+ self.assertTrue(storage.added_new)
+
+ def test_default_level(self):
+ # get_level works even with no storage on the request.
+ request = self.get_request()
+ self.assertEqual(get_level(request), constants.INFO)
+
+ # get_level returns the default level if it hasn't been set.
+ storage = self.get_storage()
+ request._messages = storage
+ self.assertEqual(get_level(request), constants.INFO)
+
+ # Only messages of sufficient level get recorded.
+ add_level_messages(storage)
+ self.assertEqual(len(storage), 5)
+
+ def test_low_level(self):
+ request = self.get_request()
+ storage = self.storage_class(request)
+ request._messages = storage
+
+ self.assertTrue(set_level(request, 5))
+ self.assertEqual(get_level(request), 5)
+
+ add_level_messages(storage)
+ self.assertEqual(len(storage), 6)
+
+ def test_high_level(self):
+ request = self.get_request()
+ storage = self.storage_class(request)
+ request._messages = storage
+
+ self.assertTrue(set_level(request, 30))
+ self.assertEqual(get_level(request), 30)
+
+ add_level_messages(storage)
+ self.assertEqual(len(storage), 2)
+
+ @override_settings(MESSAGE_LEVEL=29)
+ def test_settings_level(self):
+ request = self.get_request()
+ storage = self.storage_class(request)
+
+ self.assertEqual(get_level(request), 29)
+
+ add_level_messages(storage)
+ self.assertEqual(len(storage), 3)
+
+ def test_tags(self):
+ storage = self.get_storage()
+ storage.level = 0
+ add_level_messages(storage)
+ tags = [msg.tags for msg in storage]
+ self.assertEqual(tags,
+ ['info', '', 'extra-tag debug', 'warning', 'error',
+ 'success'])
+
+ @override_settings_tags(MESSAGE_TAGS={
+ constants.INFO: 'info',
+ constants.DEBUG: '',
+ constants.WARNING: '',
+ constants.ERROR: 'bad',
+ 29: 'custom',
+ }
+ )
+ def test_custom_tags(self):
+ storage = self.get_storage()
+ storage.level = 0
+ add_level_messages(storage)
+ tags = [msg.tags for msg in storage]
+ self.assertEqual(tags,
+ ['info', 'custom', 'extra-tag', '', 'bad', 'success'])
diff --git a/lib/python2.7/site-packages/django/contrib/messages/tests/test_cookie.py b/lib/python2.7/site-packages/django/contrib/messages/tests/test_cookie.py
new file mode 100644
index 0000000..5871ecc
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/tests/test_cookie.py
@@ -0,0 +1,154 @@
+import json
+
+from django.contrib.messages import constants
+from django.contrib.messages.tests.base import BaseTests
+from django.contrib.messages.storage.cookie import (CookieStorage,
+ MessageEncoder, MessageDecoder)
+from django.contrib.messages.storage.base import Message
+from django.test import TestCase
+from django.test.utils import override_settings
+from django.utils.safestring import SafeData, mark_safe
+
+
+def set_cookie_data(storage, messages, invalid=False, encode_empty=False):
+ """
+ Sets ``request.COOKIES`` with the encoded data and removes the storage
+ backend's loaded data cache.
+ """
+ encoded_data = storage._encode(messages, encode_empty=encode_empty)
+ if invalid:
+ # Truncate the first character so that the hash is invalid.
+ encoded_data = encoded_data[1:]
+ storage.request.COOKIES = {CookieStorage.cookie_name: encoded_data}
+ if hasattr(storage, '_loaded_data'):
+ del storage._loaded_data
+
+
+def stored_cookie_messages_count(storage, response):
+ """
+ Returns an integer containing the number of messages stored.
+ """
+ # Get a list of cookies, excluding ones with a max-age of 0 (because
+ # they have been marked for deletion).
+ cookie = response.cookies.get(storage.cookie_name)
+ if not cookie or cookie['max-age'] == 0:
+ return 0
+ data = storage._decode(cookie.value)
+ if not data:
+ return 0
+ if data[-1] == CookieStorage.not_finished:
+ data.pop()
+ return len(data)
+
+
+@override_settings(SESSION_COOKIE_DOMAIN='.example.com')
+class CookieTest(BaseTests, TestCase):
+ storage_class = CookieStorage
+
+ def stored_messages_count(self, storage, response):
+ return stored_cookie_messages_count(storage, response)
+
+ def test_get(self):
+ storage = self.storage_class(self.get_request())
+ # Set initial data.
+ example_messages = ['test', 'me']
+ set_cookie_data(storage, example_messages)
+ # Test that the message actually contains what we expect.
+ self.assertEqual(list(storage), example_messages)
+
+ def test_domain(self):
+ """
+ Ensure that CookieStorage honors SESSION_COOKIE_DOMAIN.
+ Refs #15618.
+ """
+ # Test before the messages have been consumed
+ storage = self.get_storage()
+ response = self.get_response()
+ storage.add(constants.INFO, 'test')
+ storage.update(response)
+ self.assertTrue('test' in response.cookies['messages'].value)
+ self.assertEqual(response.cookies['messages']['domain'], '.example.com')
+ self.assertEqual(response.cookies['messages']['expires'], '')
+
+ # Test after the messages have been consumed
+ storage = self.get_storage()
+ response = self.get_response()
+ storage.add(constants.INFO, 'test')
+ for m in storage:
+ pass # Iterate through the storage to simulate consumption of messages.
+ storage.update(response)
+ self.assertEqual(response.cookies['messages'].value, '')
+ self.assertEqual(response.cookies['messages']['domain'], '.example.com')
+ self.assertEqual(response.cookies['messages']['expires'], 'Thu, 01-Jan-1970 00:00:00 GMT')
+
+ def test_get_bad_cookie(self):
+ request = self.get_request()
+ storage = self.storage_class(request)
+ # Set initial (invalid) data.
+ example_messages = ['test', 'me']
+ set_cookie_data(storage, example_messages, invalid=True)
+ # Test that the message actually contains what we expect.
+ self.assertEqual(list(storage), [])
+
+ def test_max_cookie_length(self):
+ """
+ Tests that, if the data exceeds what is allowed in a cookie, older
+ messages are removed before saving (and returned by the ``update``
+ method).
+ """
+ storage = self.get_storage()
+ response = self.get_response()
+
+ # When storing as a cookie, the cookie has constant overhead of approx
+ # 54 chars, and each message has a constant overhead of about 37 chars
+ # and a variable overhead of zero in the best case. We aim for a message
+ # size which will fit 4 messages into the cookie, but not 5.
+ # See also FallbackTest.test_session_fallback
+ msg_size = int((CookieStorage.max_cookie_size - 54) / 4.5 - 37)
+ for i in range(5):
+ storage.add(constants.INFO, str(i) * msg_size)
+ unstored_messages = storage.update(response)
+
+ cookie_storing = self.stored_messages_count(storage, response)
+ self.assertEqual(cookie_storing, 4)
+
+ self.assertEqual(len(unstored_messages), 1)
+ self.assertTrue(unstored_messages[0].message == '0' * msg_size)
+
+ def test_json_encoder_decoder(self):
+ """
+ Tests that a complex nested data structure containing Message
+ instances is properly encoded/decoded by the custom JSON
+ encoder/decoder classes.
+ """
+ messages = [
+ {
+ 'message': Message(constants.INFO, 'Test message'),
+ 'message_list': [Message(constants.INFO, 'message %s') \
+ for x in range(5)] + [{'another-message': \
+ Message(constants.ERROR, 'error')}],
+ },
+ Message(constants.INFO, 'message %s'),
+ ]
+ encoder = MessageEncoder(separators=(',', ':'))
+ value = encoder.encode(messages)
+ decoded_messages = json.loads(value, cls=MessageDecoder)
+ self.assertEqual(messages, decoded_messages)
+
+ def test_safedata(self):
+ """
+ Tests that a message containing SafeData is keeping its safe status when
+ retrieved from the message storage.
+ """
+ def encode_decode(data):
+ message = Message(constants.DEBUG, data)
+ encoded = storage._encode(message)
+ decoded = storage._decode(encoded)
+ return decoded.message
+
+ storage = self.get_storage()
+
+ self.assertIsInstance(
+ encode_decode(mark_safe("<b>Hello Django!</b>")), SafeData)
+ self.assertNotIsInstance(
+ encode_decode("<b>Hello Django!</b>"), SafeData)
diff --git a/lib/python2.7/site-packages/django/contrib/messages/tests/test_fallback.py b/lib/python2.7/site-packages/django/contrib/messages/tests/test_fallback.py
new file mode 100644
index 0000000..cd0b188
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/tests/test_fallback.py
@@ -0,0 +1,176 @@
+from django.contrib.messages import constants
+from django.contrib.messages.storage.fallback import (FallbackStorage,
+ CookieStorage)
+from django.contrib.messages.tests.base import BaseTests
+from django.contrib.messages.tests.test_cookie import (set_cookie_data,
+ stored_cookie_messages_count)
+from django.contrib.messages.tests.test_session import (set_session_data,
+ stored_session_messages_count)
+from django.test import TestCase
+
+
+class FallbackTest(BaseTests, TestCase):
+ storage_class = FallbackStorage
+
+ def get_request(self):
+ self.session = {}
+ request = super(FallbackTest, self).get_request()
+ request.session = self.session
+ return request
+
+ def get_cookie_storage(self, storage):
+ return storage.storages[-2]
+
+ def get_session_storage(self, storage):
+ return storage.storages[-1]
+
+ def stored_cookie_messages_count(self, storage, response):
+ return stored_cookie_messages_count(self.get_cookie_storage(storage),
+ response)
+
+ def stored_session_messages_count(self, storage, response):
+ return stored_session_messages_count(self.get_session_storage(storage))
+
+ def stored_messages_count(self, storage, response):
+ """
+ Return the storage totals from both cookie and session backends.
+ """
+ total = (self.stored_cookie_messages_count(storage, response) +
+ self.stored_session_messages_count(storage, response))
+ return total
+
+ def test_get(self):
+ request = self.get_request()
+ storage = self.storage_class(request)
+ cookie_storage = self.get_cookie_storage(storage)
+
+ # Set initial cookie data.
+ example_messages = [str(i) for i in range(5)]
+ set_cookie_data(cookie_storage, example_messages)
+
+ # Overwrite the _get method of the fallback storage to prove it is not
+ # used (it would cause a TypeError: 'NoneType' object is not callable).
+ self.get_session_storage(storage)._get = None
+
+ # Test that the message actually contains what we expect.
+ self.assertEqual(list(storage), example_messages)
+
+ def test_get_empty(self):
+ request = self.get_request()
+ storage = self.storage_class(request)
+
+ # Overwrite the _get method of the fallback storage to prove it is not
+ # used (it would cause a TypeError: 'NoneType' object is not callable).
+ self.get_session_storage(storage)._get = None
+
+ # Test that the message actually contains what we expect.
+ self.assertEqual(list(storage), [])
+
+ def test_get_fallback(self):
+ request = self.get_request()
+ storage = self.storage_class(request)
+ cookie_storage = self.get_cookie_storage(storage)
+ session_storage = self.get_session_storage(storage)
+
+ # Set initial cookie and session data.
+ example_messages = [str(i) for i in range(5)]
+ set_cookie_data(cookie_storage, example_messages[:4] +
+ [CookieStorage.not_finished])
+ set_session_data(session_storage, example_messages[4:])
+
+ # Test that the message actually contains what we expect.
+ self.assertEqual(list(storage), example_messages)
+
+ def test_get_fallback_only(self):
+ request = self.get_request()
+ storage = self.storage_class(request)
+ cookie_storage = self.get_cookie_storage(storage)
+ session_storage = self.get_session_storage(storage)
+
+ # Set initial cookie and session data.
+ example_messages = [str(i) for i in range(5)]
+ set_cookie_data(cookie_storage, [CookieStorage.not_finished],
+ encode_empty=True)
+ set_session_data(session_storage, example_messages)
+
+ # Test that the message actually contains what we expect.
+ self.assertEqual(list(storage), example_messages)
+
+ def test_flush_used_backends(self):
+ request = self.get_request()
+ storage = self.storage_class(request)
+ cookie_storage = self.get_cookie_storage(storage)
+ session_storage = self.get_session_storage(storage)
+
+ # Set initial cookie and session data.
+ set_cookie_data(cookie_storage, ['cookie', CookieStorage.not_finished])
+ set_session_data(session_storage, ['session'])
+
+ # When updating, previously used but no longer needed backends are
+ # flushed.
+ response = self.get_response()
+ list(storage)
+ storage.update(response)
+ session_storing = self.stored_session_messages_count(storage, response)
+ self.assertEqual(session_storing, 0)
+
+ def test_no_fallback(self):
+ """
+ Confirms that:
+
+ (1) A short number of messages whose data size doesn't exceed what is
+ allowed in a cookie will all be stored in the CookieBackend.
+
+ (2) If the CookieBackend can store all messages, the SessionBackend
+ won't be written to at all.
+ """
+ storage = self.get_storage()
+ response = self.get_response()
+
+ # Overwrite the _store method of the fallback storage to prove it isn't
+ # used (it would cause a TypeError: 'NoneType' object is not callable).
+ self.get_session_storage(storage)._store = None
+
+ for i in range(5):
+ storage.add(constants.INFO, str(i) * 100)
+ storage.update(response)
+
+ cookie_storing = self.stored_cookie_messages_count(storage, response)
+ self.assertEqual(cookie_storing, 5)
+ session_storing = self.stored_session_messages_count(storage, response)
+ self.assertEqual(session_storing, 0)
+
+ def test_session_fallback(self):
+ """
+ Confirms that, if the data exceeds what is allowed in a cookie,
+ messages which did not fit are stored in the SessionBackend.
+ """
+ storage = self.get_storage()
+ response = self.get_response()
+
+ # see comment in CookieText.test_cookie_max_length
+ msg_size = int((CookieStorage.max_cookie_size - 54) / 4.5 - 37)
+ for i in range(5):
+ storage.add(constants.INFO, str(i) * msg_size)
+ storage.update(response)
+
+ cookie_storing = self.stored_cookie_messages_count(storage, response)
+ self.assertEqual(cookie_storing, 4)
+ session_storing = self.stored_session_messages_count(storage, response)
+ self.assertEqual(session_storing, 1)
+
+ def test_session_fallback_only(self):
+ """
+ Confirms that large messages, none of which fit in a cookie, are stored
+ in the SessionBackend (and nothing is stored in the CookieBackend).
+ """
+ storage = self.get_storage()
+ response = self.get_response()
+
+ storage.add(constants.INFO, 'x' * 5000)
+ storage.update(response)
+
+ cookie_storing = self.stored_cookie_messages_count(storage, response)
+ self.assertEqual(cookie_storing, 0)
+ session_storing = self.stored_session_messages_count(storage, response)
+ self.assertEqual(session_storing, 1)
diff --git a/lib/python2.7/site-packages/django/contrib/messages/tests/test_middleware.py b/lib/python2.7/site-packages/django/contrib/messages/tests/test_middleware.py
new file mode 100644
index 0000000..5618c2d
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/tests/test_middleware.py
@@ -0,0 +1,18 @@
+from django import http
+from django.contrib.messages.middleware import MessageMiddleware
+from django.utils import unittest
+
+
+class MiddlewareTest(unittest.TestCase):
+
+ def setUp(self):
+ self.middleware = MessageMiddleware()
+
+ def test_response_without_messages(self):
+ """
+ Makes sure that the response middleware is tolerant of messages not
+ existing on request.
+ """
+ request = http.HttpRequest()
+ response = http.HttpResponse()
+ self.middleware.process_response(request, response)
diff --git a/lib/python2.7/site-packages/django/contrib/messages/tests/test_mixins.py b/lib/python2.7/site-packages/django/contrib/messages/tests/test_mixins.py
new file mode 100644
index 0000000..8eef4cb
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/tests/test_mixins.py
@@ -0,0 +1,14 @@
+from django.test.testcases import TestCase
+from django.contrib.messages.tests.urls import ContactFormViewWithMsg
+from django.core.urlresolvers import reverse
+
+class SuccessMessageMixinTests(TestCase):
+ urls = 'django.contrib.messages.tests.urls'
+
+ def test_set_messages_success(self):
+ author = {'name': 'John Doe',
+ 'slug': 'success-msg'}
+ add_url = reverse('add_success_msg')
+ req = self.client.post(add_url, author)
+ self.assertIn(ContactFormViewWithMsg.success_message % author,
+ req.cookies['messages'].value)
diff --git a/lib/python2.7/site-packages/django/contrib/messages/tests/test_session.py b/lib/python2.7/site-packages/django/contrib/messages/tests/test_session.py
new file mode 100644
index 0000000..940e1c0
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/tests/test_session.py
@@ -0,0 +1,53 @@
+from django.contrib.messages import constants
+from django.contrib.messages.tests.base import BaseTests
+from django.contrib.messages.storage.base import Message
+from django.contrib.messages.storage.session import SessionStorage
+from django.utils.safestring import SafeData, mark_safe
+from django.test import TestCase
+
+
+def set_session_data(storage, messages):
+ """
+ Sets the messages into the backend request's session and remove the
+ backend's loaded data cache.
+ """
+ storage.request.session[storage.session_key] = storage.serialize_messages(messages)
+ if hasattr(storage, '_loaded_data'):
+ del storage._loaded_data
+
+
+def stored_session_messages_count(storage):
+ data = storage.deserialize_messages(storage.request.session.get(storage.session_key, []))
+ return len(data)
+
+
+class SessionTest(BaseTests, TestCase):
+ storage_class = SessionStorage
+
+ def get_request(self):
+ self.session = {}
+ request = super(SessionTest, self).get_request()
+ request.session = self.session
+ return request
+
+ def stored_messages_count(self, storage, response):
+ return stored_session_messages_count(storage)
+
+ def test_get(self):
+ storage = self.storage_class(self.get_request())
+ # Set initial data.
+ example_messages = ['test', 'me']
+ set_session_data(storage, example_messages)
+ # Test that the message actually contains what we expect.
+ self.assertEqual(list(storage), example_messages)
+
+ def test_safedata(self):
+ """
+ Tests that a message containing SafeData is keeping its safe status when
+ retrieved from the message storage.
+ """
+ storage = self.get_storage()
+
+ message = Message(constants.DEBUG, mark_safe("<b>Hello Django!</b>"))
+ set_session_data(storage, [message])
+ self.assertIsInstance(list(storage)[0].message, SafeData)
diff --git a/lib/python2.7/site-packages/django/contrib/messages/tests/urls.py b/lib/python2.7/site-packages/django/contrib/messages/tests/urls.py
new file mode 100644
index 0000000..0541b5a
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/tests/urls.py
@@ -0,0 +1,73 @@
+from django.conf.urls import patterns, url
+from django.contrib import messages
+from django.core.urlresolvers import reverse
+from django import forms
+from django.http import HttpResponseRedirect, HttpResponse
+from django.template import RequestContext, Template
+from django.template.response import TemplateResponse
+from django.views.decorators.cache import never_cache
+from django.contrib.messages.views import SuccessMessageMixin
+from django.views.generic.edit import FormView
+
+TEMPLATE = """{% if messages %}
+<ul class="messages">
+ {% for message in messages %}
+ <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>
+ {{ message }}
+ </li>
+ {% endfor %}
+</ul>
+{% endif %}
+"""
+
+@never_cache
+def add(request, message_type):
+ # don't default to False here, because we want to test that it defaults
+ # to False if unspecified
+ fail_silently = request.POST.get('fail_silently', None)
+ for msg in request.POST.getlist('messages'):
+ if fail_silently is not None:
+ getattr(messages, message_type)(request, msg,
+ fail_silently=fail_silently)
+ else:
+ getattr(messages, message_type)(request, msg)
+
+ show_url = reverse('django.contrib.messages.tests.urls.show')
+ return HttpResponseRedirect(show_url)
+
+@never_cache
+def add_template_response(request, message_type):
+ for msg in request.POST.getlist('messages'):
+ getattr(messages, message_type)(request, msg)
+
+ show_url = reverse('django.contrib.messages.tests.urls.show_template_response')
+ return HttpResponseRedirect(show_url)
+
+@never_cache
+def show(request):
+ t = Template(TEMPLATE)
+ return HttpResponse(t.render(RequestContext(request)))
+
+@never_cache
+def show_template_response(request):
+ return TemplateResponse(request, Template(TEMPLATE))
+
+
+class ContactForm(forms.Form):
+ name = forms.CharField(required=True)
+ slug = forms.SlugField(required=True)
+
+
+class ContactFormViewWithMsg(SuccessMessageMixin, FormView):
+ form_class = ContactForm
+ success_url = show
+ success_message = "%(name)s was created successfully"
+
+
+urlpatterns = patterns('',
+ ('^add/(debug|info|success|warning|error)/$', add),
+ url('^add/msg/$', ContactFormViewWithMsg.as_view(), name='add_success_msg'),
+ ('^show/$', show),
+ ('^template_response/add/(debug|info|success|warning|error)/$', add_template_response),
+ ('^template_response/show/$', show_template_response),
+)
diff --git a/lib/python2.7/site-packages/django/contrib/messages/utils.py b/lib/python2.7/site-packages/django/contrib/messages/utils.py
new file mode 100644
index 0000000..838860b
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/utils.py
@@ -0,0 +1,11 @@
+from django.conf import settings
+from django.contrib.messages import constants
+
+
+def get_level_tags():
+ """
+ Returns the message level tags.
+ """
+ level_tags = constants.DEFAULT_TAGS.copy()
+ level_tags.update(getattr(settings, 'MESSAGE_TAGS', {}))
+ return level_tags
diff --git a/lib/python2.7/site-packages/django/contrib/messages/views.py b/lib/python2.7/site-packages/django/contrib/messages/views.py
new file mode 100644
index 0000000..3c2ca35
--- /dev/null
+++ b/lib/python2.7/site-packages/django/contrib/messages/views.py
@@ -0,0 +1,18 @@
+from django.contrib import messages
+
+
+class SuccessMessageMixin(object):
+ """
+ Adds a success message on successful form submission.
+ """
+ success_message = ''
+
+ def form_valid(self, form):
+ response = super(SuccessMessageMixin, self).form_valid(form)
+ success_message = self.get_success_message(form.cleaned_data)
+ if success_message:
+ messages.success(self.request, success_message)
+ return response
+
+ def get_success_message(self, cleaned_data):
+ return self.success_message % cleaned_data