Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Remove extern directory and change file permissions.

  • Loading branch information...
commit 0e27fcd6e891cdd61361c687206a881904444f62 1 parent ecab55f
@niwibe authored
Showing with 3 additions and 44,007 deletions.
  1. 0  .gitignore
  2. 0  LICENSE
  3. 0  README.rst
  4. 0  doc/.gitignore
  5. 0  doc/Makefile
  6. 0  doc/source/_templates/layout.html
  7. 0  doc/source/_templates/sidebarintro.html
  8. 0  doc/source/_templates/sidebarlogo.html
  9. 0  doc/source/_theme/celery/static/celery.css_t
  10. 0  doc/source/_theme/celery/theme.conf
  11. 0  doc/source/conf.py
  12. 0  doc/source/index.rst
  13. 0  doc/source/overview.rst
  14. 0  doc/source/settings.rst
  15. +3 −1 requirements.txt
  16. 0  src/.gitignore
  17. 0  src/__init__.py
  18. 0  src/exports/.gitignore
  19. 0  src/exports/readme.txt
  20. 0  src/extern/__init__.py
  21. +0 −99 src/extern/baseconv.py
  22. +0 −1  src/extern/django-randomfilenamestorage/MANIFEST.in
  23. +0 −86 src/extern/django-randomfilenamestorage/README.rst
  24. 0  src/extern/django-randomfilenamestorage/django_randomfilenamestorage/__init__.py
  25. 0  src/extern/django-randomfilenamestorage/django_randomfilenamestorage/models.py
  26. +0 −154 src/extern/django-randomfilenamestorage/django_randomfilenamestorage/storage.py
  27. +0 −305 src/extern/django-randomfilenamestorage/django_randomfilenamestorage/tests.py
  28. +0 −23 src/extern/django-randomfilenamestorage/setup.py
  29. +0 −30 src/extern/django/__init__.py
  30. 0  src/extern/django/bin/__init__.py
  31. +0 −13 src/extern/django/bin/daily_cleanup.py
  32. +0 −5 src/extern/django/bin/django-admin.py
  33. 0  src/extern/django/bin/profiling/__init__.py
  34. +0 −37 src/extern/django/bin/profiling/gather_profile_stats.py
  35. +0 −28 src/extern/django/bin/unique-messages.py
  36. +0 −196 src/extern/django/conf/__init__.py
  37. 0  src/extern/django/conf/app_template/__init__.py
  38. +0 −3  src/extern/django/conf/app_template/models.py
  39. +0 −16 src/extern/django/conf/app_template/tests.py
  40. +0 −1  src/extern/django/conf/app_template/views.py
  41. +0 −618 src/extern/django/conf/global_settings.py
  42. +0 −434 src/extern/django/conf/locale/__init__.py
  43. BIN  src/extern/django/conf/locale/ar/LC_MESSAGES/django.mo
  44. +0 −1,255 src/extern/django/conf/locale/ar/LC_MESSAGES/django.po
  45. 0  src/extern/django/conf/locale/ar/__init__.py
  46. +0 −23 src/extern/django/conf/locale/ar/formats.py
  47. BIN  src/extern/django/conf/locale/az/LC_MESSAGES/django.mo
  48. +0 −1,238 src/extern/django/conf/locale/az/LC_MESSAGES/django.po
  49. BIN  src/extern/django/conf/locale/bg/LC_MESSAGES/django.mo
  50. +0 −1,245 src/extern/django/conf/locale/bg/LC_MESSAGES/django.po
  51. 0  src/extern/django/conf/locale/bg/__init__.py
  52. +0 −23 src/extern/django/conf/locale/bg/formats.py
  53. BIN  src/extern/django/conf/locale/bn/LC_MESSAGES/django.mo
  54. +0 −1,215 src/extern/django/conf/locale/bn/LC_MESSAGES/django.po
  55. 0  src/extern/django/conf/locale/bn/__init__.py
  56. +0 −23 src/extern/django/conf/locale/bn/formats.py
  57. BIN  src/extern/django/conf/locale/bs/LC_MESSAGES/django.mo
  58. +0 −1,239 src/extern/django/conf/locale/bs/LC_MESSAGES/django.po
  59. 0  src/extern/django/conf/locale/bs/__init__.py
  60. +0 −23 src/extern/django/conf/locale/bs/formats.py
  61. BIN  src/extern/django/conf/locale/ca/LC_MESSAGES/django.mo
  62. +0 −1,252 src/extern/django/conf/locale/ca/LC_MESSAGES/django.po
  63. 0  src/extern/django/conf/locale/ca/__init__.py
  64. +0 −35 src/extern/django/conf/locale/ca/formats.py
  65. BIN  src/extern/django/conf/locale/cs/LC_MESSAGES/django.mo
  66. +0 −1,247 src/extern/django/conf/locale/cs/LC_MESSAGES/django.po
  67. 0  src/extern/django/conf/locale/cs/__init__.py
  68. +0 −37 src/extern/django/conf/locale/cs/formats.py
  69. BIN  src/extern/django/conf/locale/cy/LC_MESSAGES/django.mo
  70. +0 −1,227 src/extern/django/conf/locale/cy/LC_MESSAGES/django.po
  71. 0  src/extern/django/conf/locale/cy/__init__.py
  72. +0 −23 src/extern/django/conf/locale/cy/formats.py
  73. BIN  src/extern/django/conf/locale/da/LC_MESSAGES/django.mo
  74. +0 −1,247 src/extern/django/conf/locale/da/LC_MESSAGES/django.po
  75. 0  src/extern/django/conf/locale/da/__init__.py
  76. +0 −31 src/extern/django/conf/locale/da/formats.py
  77. BIN  src/extern/django/conf/locale/de/LC_MESSAGES/django.mo
  78. +0 −1,254 src/extern/django/conf/locale/de/LC_MESSAGES/django.po
  79. 0  src/extern/django/conf/locale/de/__init__.py
  80. +0 −37 src/extern/django/conf/locale/de/formats.py
  81. BIN  src/extern/django/conf/locale/el/LC_MESSAGES/django.mo
  82. +0 −1,257 src/extern/django/conf/locale/el/LC_MESSAGES/django.po
  83. 0  src/extern/django/conf/locale/el/__init__.py
  84. +0 −23 src/extern/django/conf/locale/el/formats.py
  85. BIN  src/extern/django/conf/locale/en/LC_MESSAGES/django.mo
  86. +0 −1,207 src/extern/django/conf/locale/en/LC_MESSAGES/django.po
  87. 0  src/extern/django/conf/locale/en/__init__.py
  88. +0 −43 src/extern/django/conf/locale/en/formats.py
  89. BIN  src/extern/django/conf/locale/en_GB/LC_MESSAGES/django.mo
  90. +0 −1,239 src/extern/django/conf/locale/en_GB/LC_MESSAGES/django.po
  91. 0  src/extern/django/conf/locale/en_GB/__init__.py
  92. +0 −44 src/extern/django/conf/locale/en_GB/formats.py
  93. BIN  src/extern/django/conf/locale/eo/LC_MESSAGES/django.mo
  94. +0 −1,250 src/extern/django/conf/locale/eo/LC_MESSAGES/django.po
  95. BIN  src/extern/django/conf/locale/es/LC_MESSAGES/django.mo
  96. +0 −1,255 src/extern/django/conf/locale/es/LC_MESSAGES/django.po
  97. 0  src/extern/django/conf/locale/es/__init__.py
  98. +0 −35 src/extern/django/conf/locale/es/formats.py
  99. BIN  src/extern/django/conf/locale/es_AR/LC_MESSAGES/django.mo
  100. +0 −1,255 src/extern/django/conf/locale/es_AR/LC_MESSAGES/django.po
  101. 0  src/extern/django/conf/locale/es_AR/__init__.py
  102. +0 −34 src/extern/django/conf/locale/es_AR/formats.py
  103. BIN  src/extern/django/conf/locale/es_MX/LC_MESSAGES/django.mo
  104. +0 −1,253 src/extern/django/conf/locale/es_MX/LC_MESSAGES/django.po
  105. 0  src/extern/django/conf/locale/es_MX/__init__.py
  106. +0 −28 src/extern/django/conf/locale/es_MX/formats.py
  107. 0  src/extern/django/conf/locale/es_NI/__init__.py
  108. +0 −30 src/extern/django/conf/locale/es_NI/formats.py
  109. BIN  src/extern/django/conf/locale/et/LC_MESSAGES/django.mo
  110. +0 −1,228 src/extern/django/conf/locale/et/LC_MESSAGES/django.po
  111. 0  src/extern/django/conf/locale/et/__init__.py
  112. +0 −23 src/extern/django/conf/locale/et/formats.py
  113. BIN  src/extern/django/conf/locale/eu/LC_MESSAGES/django.mo
  114. +0 −1,249 src/extern/django/conf/locale/eu/LC_MESSAGES/django.po
  115. 0  src/extern/django/conf/locale/eu/__init__.py
  116. +0 −23 src/extern/django/conf/locale/eu/formats.py
  117. BIN  src/extern/django/conf/locale/fa/LC_MESSAGES/django.mo
  118. +0 −1,221 src/extern/django/conf/locale/fa/LC_MESSAGES/django.po
  119. 0  src/extern/django/conf/locale/fa/__init__.py
  120. +0 −23 src/extern/django/conf/locale/fa/formats.py
  121. BIN  src/extern/django/conf/locale/fi/LC_MESSAGES/django.mo
  122. +0 −1,228 src/extern/django/conf/locale/fi/LC_MESSAGES/django.po
  123. 0  src/extern/django/conf/locale/fi/__init__.py
  124. +0 −23 src/extern/django/conf/locale/fi/formats.py
  125. BIN  src/extern/django/conf/locale/fr/LC_MESSAGES/django.mo
  126. +0 −1,261 src/extern/django/conf/locale/fr/LC_MESSAGES/django.po
  127. 0  src/extern/django/conf/locale/fr/__init__.py
  128. +0 −41 src/extern/django/conf/locale/fr/formats.py
  129. BIN  src/extern/django/conf/locale/fy_NL/LC_MESSAGES/django.mo
  130. +0 −1,220 src/extern/django/conf/locale/fy_NL/LC_MESSAGES/django.po
  131. 0  src/extern/django/conf/locale/fy_NL/__init__.py
  132. +0 −23 src/extern/django/conf/locale/fy_NL/formats.py
  133. BIN  src/extern/django/conf/locale/ga/LC_MESSAGES/django.mo
  134. +0 −1,276 src/extern/django/conf/locale/ga/LC_MESSAGES/django.po
  135. 0  src/extern/django/conf/locale/ga/__init__.py
  136. +0 −23 src/extern/django/conf/locale/ga/formats.py
  137. BIN  src/extern/django/conf/locale/gl/LC_MESSAGES/django.mo
  138. +0 −1,244 src/extern/django/conf/locale/gl/LC_MESSAGES/django.po
  139. 0  src/extern/django/conf/locale/gl/__init__.py
  140. +0 −23 src/extern/django/conf/locale/gl/formats.py
  141. BIN  src/extern/django/conf/locale/he/LC_MESSAGES/django.mo
  142. +0 −1,225 src/extern/django/conf/locale/he/LC_MESSAGES/django.po
  143. 0  src/extern/django/conf/locale/he/__init__.py
  144. +0 −23 src/extern/django/conf/locale/he/formats.py
  145. BIN  src/extern/django/conf/locale/hi/LC_MESSAGES/django.mo
  146. +0 −1,230 src/extern/django/conf/locale/hi/LC_MESSAGES/django.po
  147. 0  src/extern/django/conf/locale/hi/__init__.py
  148. +0 −23 src/extern/django/conf/locale/hi/formats.py
  149. BIN  src/extern/django/conf/locale/hr/LC_MESSAGES/django.mo
  150. +0 −1,260 src/extern/django/conf/locale/hr/LC_MESSAGES/django.po
  151. 0  src/extern/django/conf/locale/hr/__init__.py
  152. +0 −47 src/extern/django/conf/locale/hr/formats.py
  153. BIN  src/extern/django/conf/locale/hu/LC_MESSAGES/django.mo
  154. +0 −1,259 src/extern/django/conf/locale/hu/LC_MESSAGES/django.po
  155. 0  src/extern/django/conf/locale/hu/__init__.py
  156. +0 −32 src/extern/django/conf/locale/hu/formats.py
  157. BIN  src/extern/django/conf/locale/id/LC_MESSAGES/django.mo
  158. +0 −1,242 src/extern/django/conf/locale/id/LC_MESSAGES/django.po
  159. 0  src/extern/django/conf/locale/id/__init__.py
  160. +0 −47 src/extern/django/conf/locale/id/formats.py
  161. BIN  src/extern/django/conf/locale/is/LC_MESSAGES/django.mo
  162. +0 −1,245 src/extern/django/conf/locale/is/LC_MESSAGES/django.po
  163. 0  src/extern/django/conf/locale/is/__init__.py
  164. +0 −23 src/extern/django/conf/locale/is/formats.py
  165. BIN  src/extern/django/conf/locale/it/LC_MESSAGES/django.mo
  166. +0 −1,249 src/extern/django/conf/locale/it/LC_MESSAGES/django.po
  167. 0  src/extern/django/conf/locale/it/__init__.py
  168. +0 −46 src/extern/django/conf/locale/it/formats.py
  169. BIN  src/extern/django/conf/locale/ja/LC_MESSAGES/django.mo
  170. +0 −1,227 src/extern/django/conf/locale/ja/LC_MESSAGES/django.po
  171. 0  src/extern/django/conf/locale/ja/__init__.py
  172. +0 −23 src/extern/django/conf/locale/ja/formats.py
  173. BIN  src/extern/django/conf/locale/ka/LC_MESSAGES/django.mo
Sorry, we could not display the entire diff because too many files (3,681) changed.
View
0  .gitignore 100644 → 100755
File mode changed
View
0  LICENSE 100644 → 100755
File mode changed
View
0  README.rst 100644 → 100755
File mode changed
View
0  doc/.gitignore 100644 → 100755
File mode changed
View
0  doc/Makefile 100644 → 100755
File mode changed
View
0  doc/source/_templates/layout.html 100644 → 100755
File mode changed
View
0  doc/source/_templates/sidebarintro.html 100644 → 100755
File mode changed
View
0  doc/source/_templates/sidebarlogo.html 100644 → 100755
File mode changed
View
0  doc/source/_theme/celery/static/celery.css_t 100644 → 100755
File mode changed
View
0  doc/source/_theme/celery/theme.conf 100644 → 100755
File mode changed
View
0  doc/source/conf.py 100644 → 100755
File mode changed
View
0  doc/source/index.rst 100644 → 100755
File mode changed
View
0  doc/source/overview.rst 100644 → 100755
File mode changed
View
0  doc/source/settings.rst 100644 → 100755
File mode changed
View
4 requirements.txt 100644 → 100755
@@ -10,4 +10,6 @@ pyzmq>=2.2
sphinx>=1.1.3
docutils>=0.9
pygments>=1.5
--e git://github.com/niwibe/django-greenqueue.git#egg=django-greenqueue
+git+git://github.com/niwibe/django-greenqueue.git
+south>=0.7.5
+pytz
View
0  src/.gitignore 100755 → 100644
File mode changed
View
0  src/__init__.py 100755 → 100644
File mode changed
View
0  src/exports/.gitignore 100755 → 100644
File mode changed
View
0  src/exports/readme.txt 100755 → 100644
File mode changed
View
0  src/extern/__init__.py
No changes.
View
99 src/extern/baseconv.py
@@ -1,99 +0,0 @@
-# Copyright (c) 2010 Taurinus Collective. All rights reserved.
-# Copyright (c) 2009 Simon Willison. All rights reserved.
-# Copyright (c) 2002 Drew Perttula. All rights reserved.
-#
-# License:
-# Python Software Foundation License version 2
-#
-# See the file "LICENSE" for terms & conditions for usage, and a DISCLAIMER OF
-# ALL WARRANTIES.
-#
-# This Baseconv distribution contains no GNU General Public Licensed (GPLed)
-# code so it may be used in proprietary projects just like prior ``baseconv``
-# distributions.
-#
-# All trademarks referenced herein are property of their respective holders.
-#
-
-"""
-Convert numbers from base 10 integers to base X strings and back again.
-
-Sample usage::
-
- >>> base20 = BaseConverter('0123456789abcdefghij')
- >>> base20.encode(1234)
- '31e'
- >>> base20.decode('31e')
- 1234
- >>> base20.encode(-1234)
- '-31e'
- >>> base20.decode('-31e')
- -1234
- >>> base11 = BaseConverter('0123456789-', sign='$')
- >>> base11.encode('$1234')
- '$-22'
- >>> base11.decode('$-22')
- '$1234'
-
-"""
-
-BASE2_ALPHABET = '01'
-BASE16_ALPHABET = '0123456789ABCDEF'
-BASE56_ALPHABET = '23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz'
-BASE36_ALPHABET = '0123456789abcdefghijklmnopqrstuvwxyz'
-BASE62_ALPHABET = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
-BASE64_ALPHABET = BASE62_ALPHABET + '-_'
-
-class BaseConverter(object):
- decimal_digits = '0123456789'
-
- def __init__(self, digits, sign='-'):
- self.sign = sign
- self.digits = digits
- if sign in self.digits:
- raise ValueError('Sign character found in converter base digits.')
-
- def __repr__(self):
- return "<BaseConverter: base%s (%s)>" % (len(self.digits), self.digits)
-
- def encode(self, i):
- neg, value = self.convert(i, self.decimal_digits, self.digits, '-')
- if neg:
- return self.sign + value
- return value
-
- def decode(self, s):
- neg, value = self.convert(s, self.digits, self.decimal_digits, self.sign)
- if neg:
- value = '-' + value
- return int(value)
-
- def convert(self, number, from_digits, to_digits, sign):
- if str(number)[0] == sign:
- number = str(number)[1:]
- neg = 1
- else:
- neg = 0
-
- # make an integer out of the number
- x = 0
- for digit in str(number):
- x = x * len(from_digits) + from_digits.index(digit)
-
- # create the result in base 'len(to_digits)'
- if x == 0:
- res = to_digits[0]
- else:
- res = ''
- while x > 0:
- digit = x % len(to_digits)
- res = to_digits[digit] + res
- x = int(x / len(to_digits))
- return neg, res
-
-base2 = BaseConverter(BASE2_ALPHABET)
-base16 = BaseConverter(BASE16_ALPHABET)
-base36 = BaseConverter(BASE36_ALPHABET)
-base56 = BaseConverter(BASE56_ALPHABET)
-base62 = BaseConverter(BASE62_ALPHABET)
-base64 = BaseConverter(BASE64_ALPHABET, sign='$')
View
1  src/extern/django-randomfilenamestorage/MANIFEST.in
@@ -1 +0,0 @@
-include README.rst
View
86 src/extern/django-randomfilenamestorage/README.rst
@@ -1,86 +0,0 @@
-``django-randomfilenamestorage``
-================================
-
-A Django storage backend that gives random names to files.
-
-By default, ``django.core.files.storage.FileSystemStorage`` deals with
-conflicting filenames by appending an underscore to the file. For
-instance, if you try to create ``hello.txt`` when it already exists,
-it will rename it as ``hello_.txt``.
-
-``django-randomfilenamestorage`` creates random filenames, so if you
-try to create ``hello.txt``, it will save it as
-``7z0a8m25sh9fyitx.txt``. Directory names and extensions are
-preserved, only the root filename is randomized.
-
-Installing
-----------
-
-The easiest way to install ``django-randomfilenamestorage`` is to use
-**pip**::
-
- pip install django-randomfilenamestorage
-
-
-Quick Start
------------
-
-In your Django ``settings`` file:
-
-* Set ``DEFAULT_FILE_STORAGE`` to
- ``'django_randomfilenamestorage.storage.RandomFilenameFileSystemStorage'``
-
-* Optionally, add ``'django-dbstorage'`` to ``INSTALLED_APPS``
-
-This gives you random filenames, backed on Django's
-``FileSystemStorage`` storage class.
-
-
-``RandomFilenameMetaStorage``
------------------------------
-
-You can define a new underlying storage class by using
-``RandomFilenameMetaStorage`` to wrap it::
-
- from django.core.files.storage import get_storage_class
-
- from django_randomfilenamestorage.storage import RandomFilenameMetaStorage
-
- RandomFilenameMyStorage = RandomFilenameMetaStorage(
- storage_class=get_storage_class('myapp.storage.MyStorage'),
- )
-
-RandomFilenameMetaStorage defaults to 16-character root filenames. To
-change the default, define
-``settings.RANDOM_FILENAME_LENGTH`` to a different integer
-value.
-
-To change the filename length of a wrapped storage class, pass in a
-``length`` argument to ``RandomFilenameMetaStorage``. To override it
-for a particular storage instance, pass in a ``randomfilename_length``
-argument to its constructor.
-
-
-Efficient random filename generation
-------------------------------------
-
-RandomFilenameMetaStorage is careful about not overwriting existing
-files, on creation. Unfortunately, many storage classes do not throw
-an ``OSError`` with ``EEXISTS`` when they detect a duplicate file on
-``_save()``.
-
-If the underlying storage class accepts ``uniquify_names=False`` in
-its constructor, ``RandomFilenameMetaStorage`` will reduce the number
-of round-trips to the underlying storage class and make random
-filename generation more efficient.
-
-Safe storage classes include:
-
-* ``django_randomfilenamestorage.storage.SafeFileSystemStorage``
-* `django-dbstorage`_.
-
-
-.. Links
-
-.. _django-dbstorage:
- http://pypi.python.org/pypi/django-dbstorage
View
0  src/extern/django-randomfilenamestorage/django_randomfilenamestorage/__init__.py
No changes.
View
0  src/extern/django-randomfilenamestorage/django_randomfilenamestorage/models.py
No changes.
View
154 src/extern/django-randomfilenamestorage/django_randomfilenamestorage/storage.py
@@ -1,154 +0,0 @@
-from errno import EEXIST
-import ntpath
-import os
-import posixpath
-import random
-import string
-from warnings import warn
-
-from django.conf import settings
-from django.core.files.storage import (Storage, FileSystemStorage,
- locks, file_move_safe)
-
-
-CHARACTERS = string.lowercase + string.digits
-DEFAULT_LENGTH = 16
-
-
-def random_string(length):
- return ''.join(random.choice(CHARACTERS) for i in xrange(length))
-
-
-def RandomFilenameMetaStorage(storage_class, length=None, uniquify_names=True):
- class RandomFilenameStorage(storage_class):
- def __init__(self, *args, **kwargs):
- self.randomfilename_length = kwargs.pop('randomfilename_length',
- length)
- if self.randomfilename_length is None:
- self.randomfilename_length = getattr(settings,
- 'RANDOM_FILENAME_LENGTH',
- DEFAULT_LENGTH)
- # Do not uniquify filenames by default.
- self.randomfilename_uniquify_names = kwargs.pop('uniquify_names',
- uniquify_names)
- # But still try to tell storage_class not to uniquify filenames.
- # This class will be the one that uniquifies.
- try:
- new_kwargs = dict(kwargs, uniquify_names=False)
- super(RandomFilenameStorage, self).__init__(*args,
- **new_kwargs)
- except TypeError:
- super(RandomFilenameStorage, self).__init__(*args, **kwargs)
-
- def get_available_name(self, name, retry=True):
- # All directories have forward slashes, even on Windows
- name = name.replace(ntpath.sep, posixpath.sep)
- dir_name, file_name = posixpath.split(name)
- file_root, file_ext = posixpath.splitext(file_name)
- # If retry is True and the filename already exists, keep
- # on generating random filenames until the generated
- # filename doesn't exist.
- while True:
- file_prefix = random_string(self.randomfilename_length)
- # file_ext includes the dot.
- name = posixpath.join(dir_name, file_prefix + file_ext)
- if not retry or not self.exists(name):
- return name
-
- def _save(self, name, *args, **kwargs):
- while True:
- try:
- return super(RandomFilenameStorage, self)._save(name,
- *args,
- **kwargs)
- except OSError, e:
- if e.errno == EEXIST:
- # We have a safe storage layer
- if not self.randomfilename_uniquify_names:
- # A higher storage layer will rename
- raise
- # Attempt to get_available_name() without retrying.
- try:
- name = self.get_available_name(name,
- retry=False)
- except TypeError:
- warn('Could not call get_available_name() '
- 'on %r with retry=False' % self)
- name = self.get_available_name(name)
- else:
- raise
-
- RandomFilenameStorage.__name__ = 'RandomFilename' + storage_class.__name__
- return RandomFilenameStorage
-
-
-class SafeFileSystemStorage(FileSystemStorage):
- """
- Standard filesystem storage
-
- Supports *uniquify_names*, like other safe storage classes.
-
- Based on django.core.files.storage.FileSystemStorage.
- """
- def __init__(self, *args, **kwargs):
- self.uniquify_names = kwargs.pop('uniquify_names', True)
- super(SafeFileSystemStorage, self).__init__(*args, **kwargs)
-
- def _save(self, name, content):
- full_path = self.path(name)
-
- directory = os.path.dirname(full_path)
- if not os.path.exists(directory):
- os.makedirs(directory)
- elif not os.path.isdir(directory):
- raise IOError("%s exists and is not a directory." % directory)
-
- # There's a potential race condition between get_available_name and
- # saving the file; it's possible that two threads might return the
- # same name, at which point all sorts of fun happens. So we need to
- # try to create the file, but if it already exists we have to go back
- # to get_available_name() and try again.
-
- while True:
- try:
- # This file has a file path that we can move.
- if hasattr(content, 'temporary_file_path'):
- file_move_safe(content.temporary_file_path(), full_path)
- content.close()
-
- # This is a normal uploadedfile that we can stream.
- else:
- # This fun binary flag incantation makes os.open throw an
- # OSError if the file already exists before we open it.
- fd = os.open(full_path,
- (os.O_WRONLY | os.O_CREAT | os.O_EXCL |
- getattr(os, 'O_BINARY', 0)))
- try:
- locks.lock(fd, locks.LOCK_EX)
- for chunk in content.chunks():
- os.write(fd, chunk)
- finally:
- locks.unlock(fd)
- os.close(fd)
- except OSError, e:
- if e.errno == EEXIST:
- # Ooops, the file exists. We need a new file name.
- if not self.uniquify_names:
- raise
- name = self.get_available_name(name)
- full_path = self.path(name)
- else:
- raise
- else:
- # OK, the file save worked. Break out of the loop.
- break
-
- if settings.FILE_UPLOAD_PERMISSIONS is not None:
- os.chmod(full_path, settings.FILE_UPLOAD_PERMISSIONS)
-
- return name
-
-
-RandomFilenameFileSystemStorage = RandomFilenameMetaStorage(
- storage_class=SafeFileSystemStorage,
-)
View
305 src/extern/django-randomfilenamestorage/django_randomfilenamestorage/tests.py
@@ -1,305 +0,0 @@
-from __future__ import with_statement
-
-from contextlib import contextmanager
-
-import errno
-import os
-import posixpath
-import re
-import shutil
-import stat
-import warnings
-
-try:
- from warnings import catch_warnings
-except ImportError:
- def catch_warnings():
- original_filters = warnings.filters
- try:
- yield
- finally:
- warnings.filters = original_filters
-
-from django.conf import settings
-from django.core.files.base import ContentFile
-from django.core.files.uploadedfile import TemporaryUploadedFile
-from django.test import TestCase
-from django.utils.functional import LazyObject
-
-import django_randomfilenamestorage.storage
-from django_randomfilenamestorage.storage import (
- RandomFilenameMetaStorage, RandomFilenameFileSystemStorage,
- SafeFileSystemStorage, DEFAULT_LENGTH
-)
-
-
-class StubStorage(object):
- def __init__(self, tries=1):
- self._exists_count = 0
- self._tries = tries
-
- def exists(self, *args, **kwargs):
- # Return False until exists() has been called *tries* times.
- self._exists_count += 1
- return self._exists_count < self._tries
-
-
-class StubSafeStorage(StubStorage):
- def __init__(self, uniquify_names=False, *args, **kwargs):
- # Support uniquify_names as an argument
- self._save_count = 0
- super(StubSafeStorage, self).__init__(*args, **kwargs)
-
- def _save(self, name, *args, **kwargs):
- # Raise errno.EEXIST until _save() has been called *tries* times.
- self._save_count += 1
- if self._save_count < self._tries:
- raise OSError(errno.EEXIST, os.strerror(errno.EEXIST))
- return name
-
-
-class StubBrokenStorage(StubStorage):
- def _save(self, *args, **kwargs):
- raise OSError(errno.ENOENT, os.strerror(errno.ENOENT))
-
-
-def stub_random_string(*args, **kwargs):
- stub_random_string.count += 1
- return str(stub_random_string.count)
-
-
-class RandomFilenameTestCase(TestCase):
- def assertFilename(self, name, original, length=DEFAULT_LENGTH):
- dirname, pathname = posixpath.split(original)
- if dirname:
- dirname += posixpath.sep
- root, ext = posixpath.splitext(pathname)
- regexp = re.compile(r'%s[0-9a-z]{%d}%s$' % (re.escape(dirname),
- length,
- re.escape(ext)))
- self.assertTrue(regexp.match(name), '%r is invalid.' % name)
-
- def test_class(self):
- StorageClass = RandomFilenameMetaStorage(storage_class=StubStorage)
- with patch(settings, RANDOM_FILENAME_LENGTH=NotImplemented):
- storage = StorageClass()
- self.assertFilename(storage.get_available_name(''), '')
- StorageClass = RandomFilenameMetaStorage(storage_class=StubStorage,
- length=5)
- with patch(settings, RANDOM_FILENAME_LENGTH=NotImplemented):
- storage = StorageClass()
- self.assertFilename(storage.get_available_name(''), '', length=5)
- storage = StorageClass(randomfilename_length=10)
- self.assertFilename(storage.get_available_name(''), '', length=10)
-
- def test_init(self):
- StorageClass = RandomFilenameMetaStorage(storage_class=StubStorage)
- with patch(settings, RANDOM_FILENAME_LENGTH=NotImplemented):
- storage = StorageClass()
- self.assertFilename(storage.get_available_name(''), '')
- storage = StorageClass(randomfilename_length=10)
- self.assertFilename(storage.get_available_name(''), '', length=10)
- with patch(settings, RANDOM_FILENAME_LENGTH=5):
- storage = StorageClass()
- self.assertFilename(storage.get_available_name(''), '', length=5)
- storage = StorageClass(randomfilename_length=20)
- self.assertFilename(storage.get_available_name(''), '', length=20)
-
- def test_get_available_name(self):
- with media_root():
- storage = RandomFilenameFileSystemStorage(
- randomfilename_length=DEFAULT_LENGTH
- )
- self.assertFilename(storage.get_available_name(''), '')
- self.assertFilename(storage.get_available_name('foo'), 'foo')
- self.assertFilename(storage.get_available_name('foo.txt'),
- 'foo.txt')
- self.assertFilename(storage.get_available_name('foo/bar'),
- 'foo/bar')
- self.assertFilename(storage.get_available_name('foo/bar.txt'),
- 'foo/bar.txt')
-
- def test_get_available_name_retry(self):
- # With retries
- StorageClass = RandomFilenameMetaStorage(storage_class=StubStorage)
- storage = StorageClass(tries=2)
- stub_random_string.count = 0
- with patch(django_randomfilenamestorage.storage,
- random_string=stub_random_string):
- self.assertEqual(storage.get_available_name('name.txt'), '2.txt')
-
- # Without retries
- StorageClass = RandomFilenameMetaStorage(storage_class=StubStorage)
- storage = StorageClass(tries=2)
- stub_random_string.count = 0
- with patch(django_randomfilenamestorage.storage,
- random_string=stub_random_string):
- self.assertEqual(storage.get_available_name('name.txt',
- retry=False),
- '1.txt')
-
- def test_save(self):
- with media_root():
- storage = RandomFilenameFileSystemStorage(
- randomfilename_length=DEFAULT_LENGTH
- )
- name1 = storage.save('foo/bar.txt', ContentFile('Hello world!'))
- storage.delete(name1)
- self.assertFilename(name1, 'foo/bar.txt')
- name2 = storage.save('foo/bar.txt', ContentFile('Hello world!'))
- storage.delete(name2)
- self.assertFilename(name2, 'foo/bar.txt')
- self.assertNotEqual(name1, name2)
-
- def test_save_exception(self):
- with media_root():
- storage = RandomFilenameFileSystemStorage(
- randomfilename_length=DEFAULT_LENGTH
- )
- name = storage.save('foo/bar.txt', ContentFile('Hello world!'))
- self.assertRaises(IOError, storage.save,
- name + posixpath.sep,
- ContentFile('Hello world!'))
-
- def test_save_broken(self):
- StorageClass = RandomFilenameMetaStorage(
- storage_class=StubBrokenStorage
- )
- storage = StorageClass()
- self.assertRaises(OSError, storage._save, 'name.txt')
-
- def test_save_safe_storage(self):
- StorageClass = RandomFilenameMetaStorage(storage_class=StubSafeStorage)
- storage = StorageClass(tries=3)
- stub_random_string.count = 0
- with patch(django_randomfilenamestorage.storage,
- random_string=stub_random_string):
- # stub_random_string() is called 4 times, when attempting
- # to save three times.
- self.assertEqual(storage._save('name.txt'), '2.txt')
-
- def test_save_no_uniquify(self):
- StorageClass = RandomFilenameMetaStorage(storage_class=StubSafeStorage,
- uniquify_names=False)
- storage = StorageClass(tries=2)
- with patch(django_randomfilenamestorage.storage):
- self.assertRaises(OSError, storage._save, 'name.txt')
-
- def test_save_broken_retry(self):
- StorageClass = RandomFilenameMetaStorage(storage_class=StubSafeStorage)
- class BrokenStorage(StorageClass):
- def get_available_name(self, name):
- return super(BrokenStorage, self).get_available_name(name)
-
- storage = BrokenStorage(tries=3)
- stub_random_string.count = 0
- with patch(django_randomfilenamestorage.storage,
- random_string=stub_random_string):
- with catch_warnings():
- warnings.simplefilter('ignore')
- # stub_random_string() is called four times, when attempting
- # to save three times
- self.assertEqual(storage._save('name.txt'), '4.txt')
-
-
-class SafeFileSystemStorageTestCase(TestCase):
- def test_init(self):
- storage = SafeFileSystemStorage()
- self.assertTrue(storage.uniquify_names)
- storage = SafeFileSystemStorage(uniquify_names=True)
- self.assertTrue(storage.uniquify_names)
- storage = SafeFileSystemStorage(uniquify_names=False)
- self.assertFalse(storage.uniquify_names)
-
- def test_save(self):
- with media_root():
- storage = SafeFileSystemStorage()
- # Save one copy
- content = 'Hello world!'
- name = storage.save('hello.txt', ContentFile(content))
- self.assertEqual(name, 'hello.txt')
- self.assertEqual(open(storage.path(name)).read(), content)
- # Save another, which should be renamed
- content = 'Hello.'
- name = storage._save('hello.txt', ContentFile(content))
- self.assertTrue(name in ('hello_.txt', 'hello_1.txt'),
- "%r is not 'hello_.txt' or 'hello_1.txt'" % name)
- self.assertEqual(open(storage.path(name)).read(), content)
-
- def test_save_no_uniquify(self):
- with media_root():
- storage = SafeFileSystemStorage(uniquify_names=False)
- # Save one copy
- content = 'Hello world!'
- name = storage.save('hello.txt', ContentFile(content))
- self.assertEqual(name, 'hello.txt')
- self.assertEqual(open(storage.path(name)).read(), content)
- # Save another, which should throw an exception
- content = 'Hello.'
- self.assertRaises(OSError,
- storage._save, 'hello.txt', ContentFile(content))
-
- def test_save_tempfile(self):
- with media_root():
- storage = SafeFileSystemStorage()
- content = 'Hello world!'
- f = TemporaryUploadedFile(name='filename',
- content_type='text/plain',
- size=len(content),
- charset='utf-8')
- f.write(content)
- f.seek(0)
- name = storage.save('hello.txt', f)
- self.assertEqual(name, 'hello.txt')
- self.assertEqual(open(storage.path(name)).read(), content)
-
- def test_save_permissions(self):
- with media_root():
- with patch(settings, FILE_UPLOAD_PERMISSIONS=stat.S_IRUSR):
- storage = SafeFileSystemStorage()
- content = 'Hello world!'
- name = storage.save('hello.txt', ContentFile('Hello world!'))
- self.assertTrue(os.access(storage.path(name), os.R_OK))
- self.assertFalse(os.access(storage.path(name), os.W_OK))
- self.assertFalse(os.access(storage.path(name), os.X_OK))
-
-
-@contextmanager
-def patch(namespace, **values):
- """Patches `namespace`.`name` with `value` for (name, value) in values"""
- originals = {}
- if isinstance(namespace, LazyObject):
- if namespace._wrapped is None:
- namespace._setup()
- namespace = namespace._wrapped
- for (name, value) in values.iteritems():
- try:
- originals[name] = getattr(namespace, name)
- except AttributeError:
- originals[name] = NotImplemented
- if value is NotImplemented:
- if originals[name] is not NotImplemented:
- delattr(namespace, name)
- else:
- setattr(namespace, name, value)
- try:
- yield
- finally:
- for (name, original_value) in originals.iteritems():
- if original_value is NotImplemented:
- if values[name] is not NotImplemented:
- delattr(namespace, name)
- else:
- setattr(namespace, name, original_value)
-
-
-@contextmanager
-def media_root(dirname='test_media/'):
- if os.path.exists(dirname):
- raise Exception('Cannot run tests safely, %r already exists!' %
- dirname)
- try:
- with patch(settings, MEDIA_ROOT=dirname):
- yield
- finally:
- shutil.rmtree(dirname, ignore_errors=True)
View
23 src/extern/django-randomfilenamestorage/setup.py
@@ -1,23 +0,0 @@
-#!/usr/bin/env python
-from setuptools import find_packages, setup
-
-setup(
- name='django-randomfilenamestorage',
- version='1.1',
- description=('A Django storage backend that gives random names to files.'),
- long_description=open('README.rst', 'r').read(),
- author='Akoha Inc.',
- author_email='adminmail@akoha.com',
- url='http://bitbucket.org/akoha/django-randomfilenamestorage/',
- packages=find_packages(),
- install_requires=['Django>=1.0'],
- classifiers=[
- 'Development Status :: 5 - Production/Stable',
- 'Environment :: Web Environment',
- 'Framework :: Django',
- 'License :: OSI Approved :: MIT License',
- 'Operating System :: OS Independent',
- 'Programming Language :: Python',
- ],
- zip_safe=True,
-)
View
30 src/extern/django/__init__.py
@@ -1,30 +0,0 @@
-VERSION = (1, 4, 0, 'final', 0)
-
-def get_version(version=None):
- """Derives a PEP386-compliant version number from VERSION."""
- if version is None:
- version = VERSION
- assert len(version) == 5
- assert version[3] in ('alpha', 'beta', 'rc', 'final')
-
- # Now build the two parts of the version number:
- # main = X.Y[.Z]
- # sub = .devN - for pre-alpha releases
- # | {a|b|c}N - for alpha, beta and rc releases
-
- parts = 2 if version[2] == 0 else 3
- main = '.'.join(str(x) for x in version[:parts])
-
- sub = ''
- if version[3] == 'alpha' and version[4] == 0:
- # At the toplevel, this would cause an import loop.
- from django.utils.version import get_svn_revision
- svn_revision = get_svn_revision()[4:]
- if svn_revision != 'unknown':
- sub = '.dev%s' % svn_revision
-
- elif version[3] != 'final':
- mapping = {'alpha': 'a', 'beta': 'b', 'rc': 'c'}
- sub = mapping[version[3]] + str(version[4])
-
- return main + sub
View
0  src/extern/django/bin/__init__.py
No changes.
View
13 src/extern/django/bin/daily_cleanup.py
@@ -1,13 +0,0 @@
-#!/usr/bin/env python
-
-"""
-Daily cleanup job.
-
-Can be run as a cronjob to clean out old data from the database (only expired
-sessions at the moment).
-"""
-
-from django.core import management
-
-if __name__ == "__main__":
- management.call_command('cleanup')
View
5 src/extern/django/bin/django-admin.py
@@ -1,5 +0,0 @@
-#!/usr/bin/env python
-from django.core import management
-
-if __name__ == "__main__":
- management.execute_from_command_line()
View
0  src/extern/django/bin/profiling/__init__.py
No changes.
View
37 src/extern/django/bin/profiling/gather_profile_stats.py
@@ -1,37 +0,0 @@
-#!/usr/bin/env python
-
-"""
-gather_profile_stats.py /path/to/dir/of/profiles
-
-Note that the aggregated profiles must be read with pstats.Stats, not
-hotshot.stats (the formats are incompatible)
-"""
-
-from hotshot import stats
-import os
-import pstats
-import sys
-
-def gather_stats(p):
- profiles = {}
- for f in os.listdir(p):
- if f.endswith('.agg.prof'):
- path = f[:-9]
- prof = pstats.Stats(os.path.join(p, f))
- elif f.endswith('.prof'):
- bits = f.split('.')
- path = ".".join(bits[:-3])
- prof = stats.load(os.path.join(p, f))
- else:
- continue
- print "Processing %s" % f
- if path in profiles:
- profiles[path].add(prof)
- else:
- profiles[path] = prof
- os.unlink(os.path.join(p, f))
- for (path, prof) in profiles.items():
- prof.dump_stats(os.path.join(p, "%s.agg.prof" % path))
-
-if __name__ == '__main__':
- gather_stats(sys.argv[1])
View
28 src/extern/django/bin/unique-messages.py
@@ -1,28 +0,0 @@
-#!/usr/bin/env python
-
-import os
-import sys
-
-def unique_messages():
- basedir = None
-
- if os.path.isdir(os.path.join('conf', 'locale')):
- basedir = os.path.abspath(os.path.join('conf', 'locale'))
- elif os.path.isdir('locale'):
- basedir = os.path.abspath('locale')
- else:
- print "this script should be run from the django svn tree or your project or app tree"
- sys.exit(1)
-
- for (dirpath, dirnames, filenames) in os.walk(basedir):
- for f in filenames:
- if f.endswith('.po'):
- sys.stderr.write('processing file %s in %s\n' % (f, dirpath))
- pf = os.path.splitext(os.path.join(dirpath, f))[0]
- cmd = 'msguniq "%s.po"' % pf
- stdout = os.popen(cmd)
- msg = stdout.read()
- open('%s.po' % pf, 'w').write(msg)
-
-if __name__ == "__main__":
- unique_messages()
View
196 src/extern/django/conf/__init__.py
@@ -1,196 +0,0 @@
-"""
-Settings and configuration for Django.
-
-Values will be read from the module specified by the DJANGO_SETTINGS_MODULE environment
-variable, and then from django.conf.global_settings; see the global settings file for
-a list of all possible variables.
-"""
-
-import os
-import re
-import time # Needed for Windows
-import warnings
-
-from django.conf import global_settings
-from django.utils.functional import LazyObject, empty
-from django.utils import importlib
-
-ENVIRONMENT_VARIABLE = "DJANGO_SETTINGS_MODULE"
-
-
-class LazySettings(LazyObject):
- """
- A lazy proxy for either global Django settings or a custom settings object.
- The user can manually configure settings prior to using them. Otherwise,
- Django uses the settings module pointed to by DJANGO_SETTINGS_MODULE.
- """
- def _setup(self):
- """
- Load the settings module pointed to by the environment variable. This
- is used the first time we need any settings at all, if the user has not
- previously configured the settings manually.
- """
- try:
- settings_module = os.environ[ENVIRONMENT_VARIABLE]
- if not settings_module: # If it's set but is an empty string.
- raise KeyError
- except KeyError:
- # NOTE: This is arguably an EnvironmentError, but that causes
- # problems with Python's interactive help.
- raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE)
-
- self._wrapped = Settings(settings_module)
-
- def configure(self, default_settings=global_settings, **options):
- """
- Called to manually configure the settings. The 'default_settings'
- parameter sets where to retrieve any unspecified values from (its
- argument must support attribute access (__getattr__)).
- """
- if self._wrapped is not empty:
- raise RuntimeError('Settings already configured.')
- holder = UserSettingsHolder(default_settings)
- for name, value in options.items():
- setattr(holder, name, value)
- self._wrapped = holder
-
- @property
- def configured(self):
- """
- Returns True if the settings have already been configured.
- """
- return self._wrapped is not empty
-
-
-class BaseSettings(object):
- """
- Common logic for settings whether set by a module or by the user.
- """
- def __setattr__(self, name, value):
- if name in ("MEDIA_URL", "STATIC_URL") and value and not value.endswith('/'):
- warnings.warn("If set, %s must end with a slash" % name,
- DeprecationWarning)
- elif name == "ADMIN_MEDIA_PREFIX":
- warnings.warn("The ADMIN_MEDIA_PREFIX setting has been removed; "
- "use STATIC_URL instead.", DeprecationWarning)
- elif name == "ALLOWED_INCLUDE_ROOTS" and isinstance(value, basestring):
- raise ValueError("The ALLOWED_INCLUDE_ROOTS setting must be set "
- "to a tuple, not a string.")
- object.__setattr__(self, name, value)
-
-
-class Settings(BaseSettings):
- def __init__(self, settings_module):
- # update this dict from global settings (but only for ALL_CAPS settings)
- for setting in dir(global_settings):
- if setting == setting.upper():
- setattr(self, setting, getattr(global_settings, setting))
-
- # store the settings module in case someone later cares
- self.SETTINGS_MODULE = settings_module
-
- try:
- mod = importlib.import_module(self.SETTINGS_MODULE)
- except ImportError, e:
- raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
-
- # Settings that should be converted into tuples if they're mistakenly entered
- # as strings.
- tuple_settings = ("INSTALLED_APPS", "TEMPLATE_DIRS")
-
- for setting in dir(mod):
- if setting == setting.upper():
- setting_value = getattr(mod, setting)
- if setting in tuple_settings and \
- isinstance(setting_value, basestring):
- setting_value = (setting_value,) # In case the user forgot the comma.
- setattr(self, setting, setting_value)
-
- if not self.SECRET_KEY:
- warnings.warn("The SECRET_KEY setting must not be empty.", DeprecationWarning)
-
- if hasattr(time, 'tzset') and self.TIME_ZONE:
- # When we can, attempt to validate the timezone. If we can't find
- # this file, no check happens and it's harmless.
- zoneinfo_root = '/usr/share/zoneinfo'
- if (os.path.exists(zoneinfo_root) and not
- os.path.exists(os.path.join(zoneinfo_root, *(self.TIME_ZONE.split('/'))))):
- raise ValueError("Incorrect timezone setting: %s" % self.TIME_ZONE)
- # Move the time zone info into os.environ. See ticket #2315 for why
- # we don't do this unconditionally (breaks Windows).
- os.environ['TZ'] = self.TIME_ZONE
- time.tzset()
-
- # Settings are configured, so we can set up the logger if required
- if self.LOGGING_CONFIG:
- # First find the logging configuration function ...
- logging_config_path, logging_config_func_name = self.LOGGING_CONFIG.rsplit('.', 1)
- logging_config_module = importlib.import_module(logging_config_path)
- logging_config_func = getattr(logging_config_module, logging_config_func_name)
-
- # Backwards-compatibility shim for #16288 fix
- compat_patch_logging_config(self.LOGGING)
-
- # ... then invoke it with the logging settings
- logging_config_func(self.LOGGING)
-
-
-class UserSettingsHolder(BaseSettings):
- """
- Holder for user configured settings.
- """
- # SETTINGS_MODULE doesn't make much sense in the manually configured
- # (standalone) case.
- SETTINGS_MODULE = None
-
- def __init__(self, default_settings):
- """
- Requests for configuration variables not in this class are satisfied
- from the module specified in default_settings (if possible).
- """
- self.default_settings = default_settings
-
- def __getattr__(self, name):
- return getattr(self.default_settings, name)
-
- def __dir__(self):
- return self.__dict__.keys() + dir(self.default_settings)
-
- # For Python < 2.6:
- __members__ = property(lambda self: self.__dir__())
-
-settings = LazySettings()
-
-
-
-def compat_patch_logging_config(logging_config):
- """
- Backwards-compatibility shim for #16288 fix. Takes initial value of
- ``LOGGING`` setting and patches it in-place (issuing deprecation warning)
- if "mail_admins" logging handler is configured but has no filters.
-
- """
- # Shim only if LOGGING["handlers"]["mail_admins"] exists,
- # but has no "filters" key
- if "filters" not in logging_config.get(
- "handlers", {}).get(
- "mail_admins", {"filters": []}):
-
- warnings.warn(
- "You have no filters defined on the 'mail_admins' logging "
- "handler: adding implicit debug-false-only filter. "
- "See http://docs.djangoproject.com/en/dev/releases/1.4/"
- "#request-exceptions-are-now-always-logged",
- PendingDeprecationWarning)
-
- filter_name = "require_debug_false"
-
- filters = logging_config.setdefault("filters", {})
- while filter_name in filters:
- filter_name = filter_name + "_"
-
- filters[filter_name] = {
- "()": "django.utils.log.RequireDebugFalse",
- }
-
- logging_config["handlers"]["mail_admins"]["filters"] = [filter_name]
View
0  src/extern/django/conf/app_template/__init__.py
No changes.
View
3  src/extern/django/conf/app_template/models.py
@@ -1,3 +0,0 @@
-from django.db import models
-
-# Create your models here.
View
16 src/extern/django/conf/app_template/tests.py
@@ -1,16 +0,0 @@
-"""
-This file demonstrates writing tests using the unittest module. These will pass
-when you run "manage.py test".
-
-Replace this with more appropriate tests for your application.
-"""
-
-from django.test import TestCase
-
-
-class SimpleTest(TestCase):
- def test_basic_addition(self):
- """
- Tests that 1 + 1 always equals 2.
- """
- self.assertEqual(1 + 1, 2)
View
1  src/extern/django/conf/app_template/views.py
@@ -1 +0,0 @@
-# Create your views here.
View
618 src/extern/django/conf/global_settings.py
@@ -1,618 +0,0 @@
-# Default Django settings. Override these with settings in the module
-# pointed-to by the DJANGO_SETTINGS_MODULE environment variable.
-
-# This is defined here as a do-nothing function because we can't import
-# django.utils.translation -- that module depends on the settings.
-gettext_noop = lambda s: s
-
-####################
-# CORE #
-####################
-
-DEBUG = False
-TEMPLATE_DEBUG = False
-
-# Whether the framework should propagate raw exceptions rather than catching
-# them. This is useful under some testing situations and should never be used
-# on a live site.
-DEBUG_PROPAGATE_EXCEPTIONS = False
-
-# Whether to use the "Etag" header. This saves bandwidth but slows down performance.
-USE_ETAGS = False
-
-# People who get code error notifications.
-# In the format (('Full Name', 'email@example.com'), ('Full Name', 'anotheremail@example.com'))
-ADMINS = ()
-
-# Tuple of IP addresses, as strings, that:
-# * See debug comments, when DEBUG is true
-# * Receive x-headers
-INTERNAL_IPS = ()
-
-# Local time zone for this installation. All choices can be found here:
-# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name (although not all
-# systems may support all possibilities). When USE_TZ is True, this is
-# interpreted as the default user time zone.
-TIME_ZONE = 'America/Chicago'
-
-# If you set this to True, Django will use timezone-aware datetimes.
-USE_TZ = False
-
-# Language code for this installation. All choices can be found here:
-# http://www.i18nguy.com/unicode/language-identifiers.html
-LANGUAGE_CODE = 'en-us'
-
-# Languages we provide translations for, out of the box. The language name
-# should be the utf-8 encoded local name for the language.
-LANGUAGES = (
- ('ar', gettext_noop('Arabic')),
- ('az', gettext_noop('Azerbaijani')),
- ('bg', gettext_noop('Bulgarian')),
- ('bn', gettext_noop('Bengali')),
- ('bs', gettext_noop('Bosnian')),
- ('ca', gettext_noop('Catalan')),
- ('cs', gettext_noop('Czech')),
- ('cy', gettext_noop('Welsh')),
- ('da', gettext_noop('Danish')),
- ('de', gettext_noop('German')),
- ('el', gettext_noop('Greek')),
- ('en', gettext_noop('English')),
- ('en-gb', gettext_noop('British English')),
- ('eo', gettext_noop('Esperanto')),
- ('es', gettext_noop('Spanish')),
- ('es-ar', gettext_noop('Argentinian Spanish')),
- ('es-mx', gettext_noop('Mexican Spanish')),
- ('es-ni', gettext_noop('Nicaraguan Spanish')),
- ('et', gettext_noop('Estonian')),
- ('eu', gettext_noop('Basque')),
- ('fa', gettext_noop('Persian')),
- ('fi', gettext_noop('Finnish')),
- ('fr', gettext_noop('French')),
- ('fy-nl', gettext_noop('Frisian')),
- ('ga', gettext_noop('Irish')),
- ('gl', gettext_noop('Galician')),
- ('he', gettext_noop('Hebrew')),
- ('hi', gettext_noop('Hindi')),
- ('hr', gettext_noop('Croatian')),
- ('hu', gettext_noop('Hungarian')),
- ('id', gettext_noop('Indonesian')),
- ('is', gettext_noop('Icelandic')),
- ('it', gettext_noop('Italian')),
- ('ja', gettext_noop('Japanese')),
- ('ka', gettext_noop('Georgian')),
- ('kk', gettext_noop('Kazakh')),
- ('km', gettext_noop('Khmer')),
- ('kn', gettext_noop('Kannada')),
- ('ko', gettext_noop('Korean')),
- ('lt', gettext_noop('Lithuanian')),
- ('lv', gettext_noop('Latvian')),
- ('mk', gettext_noop('Macedonian')),
- ('ml', gettext_noop('Malayalam')),
- ('mn', gettext_noop('Mongolian')),
- ('nb', gettext_noop('Norwegian Bokmal')),
- ('ne', gettext_noop('Nepali')),
- ('nl', gettext_noop('Dutch')),
- ('nn', gettext_noop('Norwegian Nynorsk')),
- ('pa', gettext_noop('Punjabi')),
- ('pl', gettext_noop('Polish')),
- ('pt', gettext_noop('Portuguese')),
- ('pt-br', gettext_noop('Brazilian Portuguese')),
- ('ro', gettext_noop('Romanian')),
- ('ru', gettext_noop('Russian')),
- ('sk', gettext_noop('Slovak')),
- ('sl', gettext_noop('Slovenian')),
- ('sq', gettext_noop('Albanian')),
- ('sr', gettext_noop('Serbian')),
- ('sr-latn', gettext_noop('Serbian Latin')),
- ('sv', gettext_noop('Swedish')),
- ('sw', gettext_noop('Swahili')),
- ('ta', gettext_noop('Tamil')),
- ('te', gettext_noop('Telugu')),
- ('th', gettext_noop('Thai')),
- ('tr', gettext_noop('Turkish')),
- ('tt', gettext_noop('Tatar')),
- ('uk', gettext_noop('Ukrainian')),
- ('ur', gettext_noop('Urdu')),
- ('vi', gettext_noop('Vietnamese')),
- ('zh-cn', gettext_noop('Simplified Chinese')),
- ('zh-tw', gettext_noop('Traditional Chinese')),
-)
-
-# Languages using BiDi (right-to-left) layout
-LANGUAGES_BIDI = ("he", "ar", "fa")
-
-# If you set this to False, Django will make some optimizations so as not
-# to load the internationalization machinery.
-USE_I18N = True
-LOCALE_PATHS = ()
-LANGUAGE_COOKIE_NAME = 'django_language'
-
-# If you set this to True, Django will format dates, numbers and calendars
-# according to user current locale.
-USE_L10N = False
-
-# Not-necessarily-technical managers of the site. They get broken link
-# notifications and other various emails.
-MANAGERS = ADMINS
-
-# Default content type and charset to use for all HttpResponse objects, if a
-# MIME type isn't manually specified. These are used to construct the
-# Content-Type header.
-DEFAULT_CONTENT_TYPE = 'text/html'
-DEFAULT_CHARSET = 'utf-8'
-
-# Encoding of files read from disk (template and initial SQL files).
-FILE_CHARSET = 'utf-8'
-
-# E-mail address that error messages come from.
-SERVER_EMAIL = 'root@localhost'
-
-# Whether to send broken-link emails.
-SEND_BROKEN_LINK_EMAILS = False
-
-# Database connection info.
-DATABASES = {
- 'default': {
- 'ENGINE': 'django.db.backends.dummy',
- },
-}
-
-# Classes used to implement DB routing behavior.
-DATABASE_ROUTERS = []
-
-# The email backend to use. For possible shortcuts see django.core.mail.
-# The default is to use the SMTP backend.
-# Third-party backends can be specified by providing a Python path
-# to a module that defines an EmailBackend class.
-EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
-
-# Host for sending email.
-EMAIL_HOST = 'localhost'
-
-# Port for sending email.
-EMAIL_PORT = 25
-
-# Optional SMTP authentication information for EMAIL_HOST.
-EMAIL_HOST_USER = ''
-EMAIL_HOST_PASSWORD = ''
-EMAIL_USE_TLS = False
-
-# List of strings representing installed apps.
-INSTALLED_APPS = ()
-
-# List of locations of the template source files, in search order.
-TEMPLATE_DIRS = ()
-
-# List of callables that know how to import templates from various sources.
-# See the comments in django/core/template/loader.py for interface
-# documentation.
-TEMPLATE_LOADERS = (
- 'django.template.loaders.filesystem.Loader',
- 'django.template.loaders.app_directories.Loader',
-# 'django.template.loaders.eggs.Loader',
-)
-
-# List of processors used by RequestContext to populate the context.
-# Each one should be a callable that takes the request object as its
-# only parameter and returns a dictionary to add to the context.
-TEMPLATE_CONTEXT_PROCESSORS = (
- 'django.contrib.auth.context_processors.auth',
- 'django.core.context_processors.debug',
- 'django.core.context_processors.i18n',
- 'django.core.context_processors.media',
- 'django.core.context_processors.static',
- 'django.core.context_processors.tz',
-# 'django.core.context_processors.request',
- 'django.contrib.messages.context_processors.messages',
-)
-
-# Output to use in template system for invalid (e.g. misspelled) variables.
-TEMPLATE_STRING_IF_INVALID = ''
-
-# Default email address to use for various automated correspondence from
-# the site managers.
-DEFAULT_FROM_EMAIL = 'webmaster@localhost'
-
-# Subject-line prefix for email messages send with django.core.mail.mail_admins
-# or ...mail_managers. Make sure to include the trailing space.
-EMAIL_SUBJECT_PREFIX = '[Django] '
-
-# Whether to append trailing slashes to URLs.
-APPEND_SLASH = True
-
-# Whether to prepend the "www." subdomain to URLs that don't have it.
-PREPEND_WWW = False
-
-# Override the server-derived value of SCRIPT_NAME
-FORCE_SCRIPT_NAME = None
-
-# List of compiled regular expression objects representing User-Agent strings
-# that are not allowed to visit any page, systemwide. Use this for bad
-# robots/crawlers. Here are a few examples:
-# import re
-# DISALLOWED_USER_AGENTS = (
-# re.compile(r'^NaverBot.*'),
-# re.compile(r'^EmailSiphon.*'),
-# re.compile(r'^SiteSucker.*'),
-# re.compile(r'^sohu-search')
-# )
-DISALLOWED_USER_AGENTS = ()
-
-ABSOLUTE_URL_OVERRIDES = {}
-
-# Tuple of strings representing allowed prefixes for the {% ssi %} tag.
-# Example: ('/home/html', '/var/www')
-ALLOWED_INCLUDE_ROOTS = ()
-
-# If this is a admin settings module, this should be a list of
-# settings modules (in the format 'foo.bar.baz') for which this admin
-# is an admin.
-ADMIN_FOR = ()
-
-# List of compiled regular expression objects representing URLs that need not
-# be reported when SEND_BROKEN_LINK_EMAILS is True. Here are a few examples:
-# import re
-# IGNORABLE_404_URLS = (
-# re.compile(r'^/apple-touch-icon.*\.png$'),
-# re.compile(r'^/favicon.ico$),
-# re.compile(r'^/robots.txt$),
-# re.compile(r'^/phpmyadmin/),
-# re.compile(r'\.(cgi|php|pl)$'),
-# )
-IGNORABLE_404_URLS = ()
-
-# A secret key for this particular Django installation. Used in secret-key
-# hashing algorithms. Set this in your settings, or Django will complain
-# loudly.
-SECRET_KEY = ''
-
-# Default file storage mechanism that holds media.
-DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
-
-# Absolute filesystem path to the directory that will hold user-uploaded files.
-# Example: "/home/media/media.lawrence.com/media/"
-MEDIA_ROOT = ''
-
-# URL that handles the media served from MEDIA_ROOT.
-# Example: "http://media.lawrence.com/media/"
-MEDIA_URL = ''
-
-# Absolute path to the directory that holds static files.
-# Example: "/home/media/media.lawrence.com/static/"
-STATIC_ROOT = ''
-
-# URL that handles the static files served from STATIC_ROOT.
-# Example: "http://media.lawrence.com/static/"
-STATIC_URL = None
-
-# List of upload handler classes to be applied in order.
-FILE_UPLOAD_HANDLERS = (
- 'django.core.files.uploadhandler.MemoryFileUploadHandler',
- 'django.core.files.uploadhandler.TemporaryFileUploadHandler',
-)
-
-# Maximum size, in bytes, of a request before it will be streamed to the
-# file system instead of into memory.
-FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440 # i.e. 2.5 MB
-
-# Directory in which upload streamed files will be temporarily saved. A value of
-# `None` will make Django use the operating system's default temporary directory
-# (i.e. "/tmp" on *nix systems).
-FILE_UPLOAD_TEMP_DIR = None
-
-# The numeric mode to set newly-uploaded files to. The value should be a mode
-# you'd pass directly to os.chmod; see http://docs.python.org/lib/os-file-dir.html.
-FILE_UPLOAD_PERMISSIONS = None
-
-# Python module path where user will place custom format definition.
-# The directory where this setting is pointing should contain subdirectories
-# named as the locales, containing a formats.py file
-# (i.e. "myproject.locale" for myproject/locale/en/formats.py etc. use)
-FORMAT_MODULE_PATH = None
-
-# Default formatting for date objects. See all available format strings here:
-# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
-DATE_FORMAT = 'N j, Y'
-
-# Default formatting for datetime objects. See all available format strings here:
-# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
-DATETIME_FORMAT = 'N j, Y, P'
-
-# Default formatting for time objects. See all available format strings here:
-# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
-TIME_FORMAT = 'P'
-
-# Default formatting for date objects when only the year and month are relevant.
-# See all available format strings here:
-# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
-YEAR_MONTH_FORMAT = 'F Y'
-
-# Default formatting for date objects when only the month and day are relevant.
-# See all available format strings here:
-# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
-MONTH_DAY_FORMAT = 'F j'
-
-# Default short formatting for date objects. See all available format strings here:
-# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
-SHORT_DATE_FORMAT = 'm/d/Y'
-
-# Default short formatting for datetime objects.
-# See all available format strings here:
-# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
-SHORT_DATETIME_FORMAT = 'm/d/Y P'
-
-# Default formats to be used when parsing dates from input boxes, in order
-# See all available format string here:
-# http://docs.python.org/library/datetime.html#strftime-behavior
-# * Note that these format strings are different from the ones to display dates
-DATE_INPUT_FORMATS = (
- '%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', # '2006-10-25', '10/25/2006', '10/25/06'
- '%b %d %Y', '%b %d, %Y', # 'Oct 25 2006', 'Oct 25, 2006'
- '%d %b %Y', '%d %b, %Y', # '25 Oct 2006', '25 Oct, 2006'
- '%B %d %Y', '%B %d, %Y', # 'October 25 2006', 'October 25, 2006'
- '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006'
-)
-
-# Default formats to be used when parsing times from input boxes, in order
-# See all available format string here:
-# http://docs.python.org/library/datetime.html#strftime-behavior
-# * Note that these format strings are different from the ones to display dates
-TIME_INPUT_FORMATS = (
- '%H:%M:%S', # '14:30:59'
- '%H:%M', # '14:30'
-)
-
-# Default formats to be used when parsing dates and times from input boxes,
-# in order
-# See all available format string here:
-# http://docs.python.org/library/datetime.html#strftime-behavior
-# * Note that these format strings are different from the ones to display dates
-DATETIME_INPUT_FORMATS = (
- '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59'
- '%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200'
- '%Y-%m-%d %H:%M', # '2006-10-25 14:30'
- '%Y-%m-%d', # '2006-10-25'
- '%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59'
- '%m/%d/%Y %H:%M:%S.%f', # '10/25/2006 14:30:59.000200'
- '%m/%d/%Y %H:%M', # '10/25/2006 14:30'
- '%m/%d/%Y', # '10/25/2006'
- '%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59'
- '%m/%d/%y %H:%M:%S.%f', # '10/25/06 14:30:59.000200'
- '%m/%d/%y %H:%M', # '10/25/06 14:30'
- '%m/%d/%y', # '10/25/06'
-)
-
-# First day of week, to be used on calendars
-# 0 means Sunday, 1 means Monday...
-FIRST_DAY_OF_WEEK = 0
-
-# Decimal separator symbol
-DECIMAL_SEPARATOR = '.'
-
-# Boolean that sets whether to add thousand separator when formatting numbers
-USE_THOUSAND_SEPARATOR = False
-
-# Number of digits that will be together, when splitting them by
-# THOUSAND_SEPARATOR. 0 means no grouping, 3 means splitting by thousands...
-NUMBER_GROUPING = 0
-
-# Thousand separator symbol
-THOUSAND_SEPARATOR = ','
-
-# Do you want to manage transactions manually?
-# Hint: you really don't!
-TRANSACTIONS_MANAGED = False
-
-# The User-Agent string to use when checking for URL validity through the
-# isExistingURL validator.
-from django import get_version
-URL_VALIDATOR_USER_AGENT = "Django/%s (https://www.djangoproject.com)" % get_version()
-
-# The tablespaces to use for each model when not specified otherwise.
-DEFAULT_TABLESPACE = ''
-DEFAULT_INDEX_TABLESPACE = ''
-
-# Default X-Frame-Options header value
-X_FRAME_OPTIONS = 'SAMEORIGIN'
-
-USE_X_FORWARDED_HOST = False
-
-# The Python dotted path to the WSGI application that Django's internal servers
-# (runserver, runfcgi) will use. If `None`, the return value of
-# 'django.core.wsgi.get_wsgi_application' is used, thus preserving the same
-# behavior as previous versions of Django. Otherwise this should point to an
-# actual WSGI application object.
-WSGI_APPLICATION = None
-
-# If your Django app is behind a proxy that sets a header to specify secure
-# connections, AND that proxy ensures that user-submitted headers with the
-# same name are ignored (so that people can't spoof it), set this value to
-# a tuple of (header_name, header_value). For any requests that come in with
-# that header/value, request.is_secure() will return True.
-# WARNING! Only set this if you fully understand what you're doing. Otherwise,
-# you may be opening yourself up to a security risk.
-SECURE_PROXY_SSL_HEADER = None
-
-##############
-# MIDDLEWARE #
-##############
-
-# List of middleware classes to use. Order is important; in the request phase,
-# this middleware classes will be applied in the order given, and in the
-# response phase the middleware will be applied in reverse order.
-MIDDLEWARE_CLASSES = (
- 'django.middleware.common.CommonMiddleware',
- 'django.contrib.sessions.middleware.SessionMiddleware',
- 'django.middleware.csrf.CsrfViewMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'django.contrib.messages.middleware.MessageMiddleware',
-# 'django.middleware.http.ConditionalGetMiddleware',
-# 'django.middleware.gzip.GZipMiddleware',
-)
-
-############
-# SESSIONS #
-############
-
-SESSION_COOKIE_NAME = 'sessionid' # Cookie name. This can be whatever you want.
-SESSION_COOKIE_AGE = 60 * 60 * 24 * 7 * 2 # Age of cookie, in seconds (default: 2 weeks).
-SESSION_COOKIE_DOMAIN = None # A string like ".lawrence.com", or None for standard domain cookie.
-SESSION_COOKIE_SECURE = False # Whether the session cookie should be secure (https:// only).
-SESSION_COOKIE_PATH = '/' # The path of the session cookie.
-SESSION_COOKIE_HTTPONLY = True # Whether to use the non-RFC standard httpOnly flag (IE, FF3+, others)
-SESSION_SAVE_EVERY_REQUEST = False # Whether to save the session data on every request.
-SESSION_EXPIRE_AT_BROWSER_CLOSE = False # Whether a user's session cookie expires when the Web browser is closed.
-SESSION_ENGINE = 'django.contrib.sessions.backends.db' # The module to store session data
-SESSION_FILE_PATH = None # Directory to store session files if using the file session module. If None, the backend will use a sensible default.
-
-#########
-# CACHE #
-#########
-
-# New format
-CACHES = {
-}
-# The cache backend to use. See the docstring in django.core.cache for the
-# possible values.
-CACHE_MIDDLEWARE_KEY_PREFIX = ''
-CACHE_MIDDLEWARE_SECONDS = 600
-CACHE_MIDDLEWARE_ALIAS = 'default'
-
-####################
-# COMMENTS #
-####################
-
-COMMENTS_ALLOW_PROFANITIES = False
-
-# The profanities that will trigger a validation error in
-# CommentDetailsForm.clean_comment. All of these should be in lowercase.
-PROFANITIES_LIST = ()
-
-##################
-# AUTHENTICATION #
-##################
-
-AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend',)
-
-LOGIN_URL = '/accounts/login/'
-
-LOGOUT_URL = '/accounts/logout/'
-
-LOGIN_REDIRECT_URL = '/accounts/profile/'
-
-# The number of days a password reset link is valid for
-PASSWORD_RESET_TIMEOUT_DAYS = 3
-
-# the first hasher in this list is the preferred algorithm. any
-# password using different algorithms will be converted automatically
-# upon login
-PASSWORD_HASHERS = (
- 'django.contrib.auth.hashers.PBKDF2PasswordHasher',
- 'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',
- 'django.contrib.auth.hashers.BCryptPasswordHasher',
- 'django.contrib.auth.hashers.SHA1PasswordHasher',
- 'django.contrib.auth.hashers.MD5PasswordHasher',
- 'django.contrib.auth.hashers.UnsaltedMD5PasswordHasher',
- 'django.contrib.auth.hashers.CryptPasswordHasher',
-)
-
-###########
-# SIGNING #
-###########
-
-SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
-
-########
-# CSRF #
-########
-
-# Dotted path to callable to be used as view when a request is
-# rejected by the CSRF middleware.
-CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
-
-# Settings for CSRF cookie.
-CSRF_COOKIE_NAME = 'csrftoken'
-CSRF_COOKIE_DOMAIN = None
-CSRF_COOKIE_PATH = '/'
-CSRF_COOKIE_SECURE = False
-
-############
-# MESSAGES #
-############
-
-# Class to use as messages backend
-MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
-
-# Default values of MESSAGE_LEVEL and MESSAGE_TAGS are defined within
-# django.contrib.messages to avoid imports in this settings file.
-
-###########
-# LOGGING #
-###########
-
-# The callable to use to configure logging
-LOGGING_CONFIG = 'django.utils.log.dictConfig'
-
-# The default logging configuration. This sends an email to
-# the site admins on every HTTP 500 error. All other log
-# records are sent to the bit bucket.
-
-LOGGING = {
- 'version': 1,
- 'disable_existing_loggers': False,
- 'filters': {
- 'require_debug_false': {
- '()': 'django.utils.log.RequireDebugFalse',
- }
- },
- 'handlers': {
- 'mail_admins': {
- 'level': 'ERROR',
- 'filters': ['require_debug_false'],
- 'class': 'django.utils.log.AdminEmailHandler'
- }
- },
- 'loggers': {
- 'django.request': {
- 'handlers': ['mail_admins'],
- 'level': 'ERROR',
- 'propagate': True,
- },
- }
-}
-
-# Default exception reporter filter class used in case none has been
-# specifically assigned to the HttpRequest instance.
-DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
-
-###########
-# TESTING #
-###########
-
-# The name of the class to use to run the test suite
-TEST_RUNNER = 'django.test.simple.DjangoTestSuiteRunner'
-
-############
-# FIXTURES #
-############
-
-# The list of directories to search for fixtures
-FIXTURE_DIRS = ()
-
-###############
-# STATICFILES #
-###############
-
-# A list of locations of additional static files
-STATICFILES_DIRS = ()
-
-# The default file storage backend used during the build process
-STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
-
-# List of finder classes that know how to find static files in
-# various locations.
-STATICFILES_FINDERS = (
- 'django.contrib.staticfiles.finders.FileSystemFinder',
- 'django.contrib.staticfiles.finders.AppDirectoriesFinder',
-# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
-)
View
434 src/extern/django/conf/locale/__init__.py
@@ -1,434 +0,0 @@
-LANG_INFO = {
- 'ar': {
- 'bidi': True,
- 'code': 'ar',
- 'name': 'Arabic',
- 'name_local': u'\u0627\u0644\u0639\u0631\u0628\u064a\u0651\u0629',
- },
- 'az': {
- 'bidi': True,
- 'code': 'az',
- 'name': 'Azerbaijani',
- 'name_local': u'az\u0259rbaycan dili',
- },
- 'bg': {
- 'bidi': False,
- 'code': 'bg',
- 'name': 'Bulgarian',
- 'name_local': u'\u0431\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438',
- },
- 'bn': {
- 'bidi': False,
- 'code': 'bn',
- 'name': 'Bengali',
- 'name_local': u'\u09ac\u09be\u0982\u09b2\u09be',
- },
- 'bs': {
- 'bidi': False,
- 'code': 'bs',
- 'name': 'Bosnian',
- 'name_local': u'bosanski',
- },
- 'ca': {
- 'bidi': False,
- 'code': 'ca',
- 'name': 'Catalan',
- 'name_local': u'catal\xe0',
- },
- 'cs': {
- 'bidi': False,
- 'code': 'cs',
- 'name': 'Czech',
- 'name_local': u'\u010desky',
- },
- 'cy': {
- 'bidi': False,
- 'code': 'cy',
- 'name': 'Welsh',
- 'name_local': u'Cymraeg',
- },
- 'da': {
- 'bidi': False,
- 'code': 'da',
- 'name': 'Danish',
- 'name_local': u'Dansk',
- },
- 'de': {
- 'bidi': False,
- 'code': 'de',
- 'name': 'German',
- 'name_local': u'Deutsch',
- },
- 'el': {
- 'bidi': False,
- 'code': 'el',
- 'name': 'Greek',
- 'name_local': u'\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac',
- },
- 'en': {
- 'bidi': False,
- 'code': 'en',
- 'name': 'English',
- 'name_local': u'English',
- },
- 'en-gb': {
- 'bidi': False,
- 'code': 'en-gb',
- 'name': 'British English',
- 'name_local': u'British English',
- },
- 'eo': {
- 'bidi': False,
- 'code': 'eo',
- 'name': 'Esperanto',
- 'name_local': u'Esperanto',
- },
- 'es': {
- 'bidi': False,
- 'code': 'es',
- 'name': 'Spanish',
- 'name_local': u'espa\xf1ol',
- },
- 'es-ar': {
- 'bidi': False,
- 'code': 'es-ar',
- 'name': 'Argentinian Spanish',
- 'name_local': u'espa\xf1ol de Argentina',
- },
- 'es-mx': {
- 'bidi': False,
- 'code': 'es-mx',
- 'name': 'Mexican Spanish',
- 'name_local': u'espa\xf1ol de Mexico',
- },
- 'es-ni': {
- 'bidi': False,
- 'code': 'es-ni',
- 'name': 'Nicaraguan Spanish',
- 'name_local': u'espa\xf1ol de Nicaragua',
- },
- 'et': {
- 'bidi': False,
- 'code': 'et',
- 'name': 'Estonian',
- 'name_local': u'eesti',
- },
- 'eu': {
- 'bidi': False,
- 'code': 'eu',
- 'name': 'Basque',
- 'name_local': u'Basque',
- },
- 'fa': {
- 'bidi': True,
- 'code': 'fa',
- 'name': 'Persian',
- 'name_local': u'\u0641\u0627\u0631\u0633\u06cc',
- },
- 'fi': {
- 'bidi': False,
- 'code': 'fi',
- 'name': 'Finnish',
- 'name_local': u'suomi',
- },
- 'fr': {
- 'bidi': False,
- 'code': 'fr',
- 'name': 'French',
- 'name_local': u'Fran\xe7ais',
- },
- 'fy-nl': {
- 'bidi': False,
- 'code': 'fy-nl',
- 'name': 'Frisian',
- 'name_local': u'Frisian',
- },
- 'ga': {
- 'bidi': False,
- 'code': 'ga',
- 'name': 'Irish',
- 'name_local': u'Gaeilge',
- },
- 'gl': {
- 'bidi': False,
- 'code': 'gl',
- 'name': 'Galician',
- 'name_local': u'galego',
- },
- 'he': {
- 'bidi': True,
- 'code': 'he',
- 'name': 'Hebrew',
- 'name_local': u'\u05e2\u05d1\u05e8\u05d9\u05ea',
- },
- 'hi': {
- 'bidi': False,
- 'code': 'hi',
- 'name': 'Hindi',
- 'name_local': u'Hindi',
- },
- 'hr': {
- 'bidi': False,
- 'code': 'hr',
- 'name': 'Croatian',
- 'name_local': u'Hrvatski',
- },
- 'hu': {
- 'bidi': False,
- 'code': 'hu',
- 'name': 'Hungarian',
- 'name_local': u'Magyar',
- },
- 'id': {
- 'bidi': False,
- 'code': 'id',
- 'name': 'Indonesian',
- 'name_local': u'Bahasa Indonesia',
- },
- 'is': {
- 'bidi': False,
- 'code': 'is',
- 'name': 'Icelandic',
- 'name_local': u'\xcdslenska',
- },
- 'it': {
- 'bidi': False,
- 'code': 'it',
- 'name': 'Italian',
- 'name_local': u'italiano',
- },
- 'ja': {
- 'bidi': False,
- 'code': 'ja',
- 'name': 'Japanese',
- 'name_local': u'\u65e5\u672c\u8a9e',
- },
- 'ka': {
- 'bidi': False,
- 'code': 'ka',
- 'name': 'Georgian',
- 'name_local': u'\u10e5\u10d0\u10e0\u10d7\u10e3\u10da\u10d8',
- },
- 'kk': {
- 'bidi': False,
- 'code': 'kk',
- 'name': 'Kazakh',
- 'name_local': u'\u049a\u0430\u0437\u0430\u049b',
- },
- 'km': {
- 'bidi': False,
- 'code': 'km',
- 'name': 'Khmer',
- 'name_local': u'Khmer',
- },
- 'kn': {
- 'bidi': False,
- 'code': 'kn',
- 'name': 'Kannada',
- 'name_local': u'Kannada',
- },
- 'ko': {
- 'bidi': False,
- 'code': 'ko',
- 'name': 'Korean',
- 'name_local': u'\ud55c\uad6d\uc5b4',
- },
- 'lt': {
- 'bidi': False,
- 'code': 'lt',
- 'name': 'Lithuanian',
- 'name_local': u'Lithuanian',
- },
- 'lv': {
- 'bidi': False,
- 'code': 'lv',
- 'name': 'Latvian',
- 'name_local': u'latvie\u0161u',
- },
- 'mk': {
- 'bidi': False,
- 'code': 'mk',
- 'name': 'Macedonian',
- 'name_local': u'\u041c\u0430\u043a\u0435\u0434\u043e\u043d\u0441\u043a\u0438',
- },
- 'ml': {
- 'bidi': False,
- 'code': 'ml',
- 'name': 'Malayalam',
- 'name_local': u'Malayalam',
- },
- 'mn': {
- 'bidi': False,
- 'code': 'mn',
- 'name': 'Mongolian',
- 'name_local': u'Mongolian',
- },
- 'nb': {
- 'bidi': False,
- 'code': 'nb',
- 'name': 'Norwegian Bokmal',
- 'name_local': u'Norsk (bokm\xe5l)',
- },
- 'ne': {
- 'bidi': False,
- 'code': 'ne',
- 'name': 'Nepali',
- 'name_local': u'\u0928\u0947\u092a\u093e\u0932\u0940',
- },
- 'nl': {
- 'bidi': False,
- 'code': 'nl',
- 'name': 'Dutch',
- 'name_local': u'Nederlands',
- },
- 'nn': {
- 'bidi': False,
- 'code': 'nn',
- 'name': 'Norwegian Nynorsk',
- 'name_local': u'Norsk (nynorsk)',
- },
- 'no': {
- 'bidi': False,
- 'code': 'no',
- 'name': 'Norwegian',
- 'name_local': u'Norsk',
- },
- 'pa': {
- 'bidi': False,
- 'code': 'pa',
- 'name': 'Punjabi',
- 'name_local': u'Punjabi',
- },
- 'pl': {
- 'bidi': False,
- 'code': 'pl',
- 'name': 'Polish',
- 'name_local': u'polski',
- },
- 'pt': {
- 'bidi': False,
- 'code': 'pt',
- 'name': 'Portuguese',
- 'name_local': u'Portugu\xeas',
- },
- 'pt-br': {
- 'bidi': False,
- 'code': 'pt-br',
- 'name': 'Brazilian Portuguese',
- 'name_local': u'Portugu\xeas Brasileiro',
- },
- 'ro': {
- 'bidi': False,
- 'code': 'ro',
- 'name': 'Romanian',
- 'name_local': u'Rom\xe2n\u0103',
- },
- 'ru': {
- 'bidi': False,
- 'code': 'ru',
- 'name': 'Russian',