Commits

dand...@bcc190cf-cafb-0310-a4f2-bffc1f526a37  committed 4e3e7e1

schema-evolution: merged trunk:HEAD into schema-evolution branch

  • Participants
  • Parent commits 8c7bcbe
  • Branches schema-evolution

Comments (0)

Files changed (617)

 Django was originally created in late 2003 at World Online, the Web division
 of the Lawrence Journal-World newspaper in Lawrence, Kansas.
 
-
 The PRIMARY AUTHORS are (and/or have been):
 
 Adrian Holovaty <http://www.holovaty.com/>, who originally created Django with
 people who have submitted patches, reported bugs, added translations, helped
 answer newbie questions, and generally made Django that much better:
 
-    adurdin@gmail.com
-    akaihola
+    alang@bright-green.com
+    Marty Alchin <gulopine@gamemusic.org>
+    Daniel Alves Barbosa de Oliveira Vaz <danielvaz@gmail.com>
+    AgarFu <heaven@croasanaso.sytes.net>
     Andreas
+    andy@jadedplanet.net
+    Fabrice Aneche <akh@nobugware.com>
     ant9000@netwise.it
     David Ascher <http://ascher.ca/>
+    david@kazserve.org
     Arthur <avandorp@gmail.com>
+    axiak@mit.edu
     Jiri Barton
     Ned Batchelder <http://www.nedbatchelder.com/>
     Shannon -jj Behrens <http://jjinux.blogspot.com/>
+    Esdras Beleza <linux@esdrasbeleza.com>
+    Chris Bennett <chrisrbennett@yahoo.com>
     James Bennett
+    Ben <afternoon@uk2.net>
     Paul Bissex <http://e-scribe.com/>
     Simon Blanchard
+    Matt Boersma <ogghead@gmail.com>
+    boobsd@gmail.com
     Andrew Brehaut <http://brehaut.net/blog>
-    andy@jadedplanet.net
+    brut.alll@gmail.com
+    Jonathan Buchanan <jonathan.buchanan@gmail.com>
+    Ricardo Javier Cárdenes Medina <ricardo.cardenes@gmail.com>
     Antonio Cavedoni <http://cavedoni.com/>
     C8E
     Chris Chamberlin <dja@cdc.msbx.net>
     Amit Chakradeo <http://amit.chakradeo.net/>
     ChaosKCW
+    ivan.chelubeev@gmail.com
+    Bryan Chow <bryan at verdjn dot com>
+    Michal Chruszcz <troll@pld-linux.org>
     Ian Clelland <clelland@gmail.com>
     crankycoder@gmail.com
+    Pete Crosier <pete.crosier@gmail.com>
     Matt Croydon <http://www.postneo.com/>
+    flavio.curella@gmail.com
+    Jure Cuhalev <gandalf@owca.info>
     dackze+django@gmail.com
+    David Danier <goliath.mailinglist@gmx.de>
+    Dirk Datzert <dummy@habmalnefrage.de>
     Jonathan Daugherty (cygnus) <http://www.cprogrammer.org/>
+    dave@thebarproject.com
     Jason Davies (Esaj) <http://www.jasondavies.com/>
     Alex Dedul
     deric@monowerks.com
+    Max Derkachev <mderk@yandex.ru>
+    Jordan Dimov <s3x3y1@gmail.com>
     dne@mayonnaise.net
     Maximillian Dornseif <md@hudora.de>
-    dummy@habmalnefrage.de
     Jeremy Dunck <http://dunck.us/>
+    Andrew Durdin <adurdin@gmail.com>
     Andy Dustman <farcepest@gmail.com>
     Clint Ecker
+    enlight
     Enrico <rico.bl@gmail.com>
+    A. Murat Eren <meren@pardus.org.tr>
+    Ludvig Ericson <ludvig.ericson@gmail.com>
+    Dirk Eschler <dirk.eschler@gmx.net>
+    Marc Fargas <telenieko@telenieko.com>
     favo@exoweb.net
+    Bill Fenner <fenner@gmail.com>
+    Stefane Fermgier <sf@fermigier.com>
+    Afonso Fernández Nogueira <fonzzo.django@gmail.com>
+    Matthew Flanagan <http://wadofstuff.blogspot.com>
+    Eric Floehr <eric@intellovations.com>
+    Jorge Gajon <gajon@gajon.org>
     gandalf@owca.info
+    Marc Garcia <marc.garcia@accopensys.com>
     Baishampayan Ghose
+    glin@seznam.cz
     martin.glueck@gmail.com
+    GomoX <gomo@datafull.com>
+    Mario Gonzalez <gonzalemario @t gmail.com>
     Simon Greenhill <dev@simon.net.nz>
+    Owen Griffiths
     Espen Grindhaug <http://grindhaug.org/>
+    Thomas Güttler <hv@tbz-pariv.de>
+    Brian Harring <ferringb@gmail.com>
     Brant Harris
     Hawkeye
-    heckj@mac.com
+    Joe Heck <http://www.rhonabwy.com/wp/>
     Joel Heenan <joelh-django@planetjoel.com>
     hipertracker@gmail.com
     Ian Holsman <http://feh.holsman.net/>
     Kieran Holland <http://www.kieranholland.com>
+    Sung-Jin Hong <serialx.net@gmail.com>
+    Richard House <Richard.House@i-logue.com>
     Robert Rock Howard <http://djangomojo.com/>
     Jason Huggins <http://www.jrandolph.com/blog/>
+    Hyun Mi Ae
+    Tom Insam
+    Baurzhan Ismagulov <ibr@radix50.net>
     jcrasta@gmail.com
+    Zak Johnson <zakj@nox.cx>
     Michael Josephson <http://www.sdjournal.com/>
     jpellerin@gmail.com
     junzhang.jn@gmail.com
+    Antti Kaihola <http://akaihola.blogspot.com/>
+    Ben Dean Kawamura <ben.dean.kawamura@gmail.com>
+    Ian G. Kelly <ian.g.kelly@gmail.com>
+    Ben Khoo <khoobks@westnet.com.au>
     Garth Kidd <http://www.deadlybloodyserious.com/>
     kilian <kilian.cavalotti@lip6.fr>
     Sune Kirkeby <http://ibofobi.dk/>
+    Bastian Kleineidam <calvin@debian.org>
     Cameron Knight (ckknight)
+    Nena Kojadin <nena@kiberpipa.org>
+    Igor Kolar <ike@email.si>
+    Gasper Koren
+    Martin Kosír <martin@martinkosir.net>
     Meir Kriheli <http://mksoft.co.il/>
     Bruce Kroeze <http://coderseye.com/>
+    krzysiek.pawlik@silvermedia.pl
     Joseph Kocherhans
     konrad@gwu.edu
+    kurtiss@meetro.com
     lakin.wecker@gmail.com
+    Nick Lane <nick.lane.au@gmail.com>
     Stuart Langridge <http://www.kryogenix.org/>
+    Nicola Larosa <nico@teknico.net>
     Eugene Lazutkin <http://lazutkin.com/blog/>
-    Jeong-Min Lee
+    Jeong-Min Lee <falsetru@gmail.com>
+    Jannis Leidel <jl@websushi.org>
     Christopher Lenz <http://www.cmlenz.net/>
     lerouxb@gmail.com
+    Waylan Limberg <waylan@gmail.com>
     limodou
-    mattmcc
+    Philip Lindborg <philip.lindborg@gmail.com>
+    Matt McClanahan <http://mmcc.cx/>
     Martin Maney <http://www.chipy.org/Martin_Maney>
+    masonsimon+django@gmail.com
     Manuzhai
-    Petar Marić
+    Petar Marić <http://www.petarmaric.com/>
+    Nuno Mariz <nmariz@gmail.com>
+    Marijn Vriens <marijn@metronomo.cl>
     mark@junklight.com
+    Yasushi Masuda <whosaysni@gmail.com>
     mattycakes@gmail.com
     Jason McBrayer <http://www.carcosa.net/jason/>
     mccutchen@gmail.com
     michael.mcewan@gmail.com
+    mikko@sorl.net
+    mitakummaa@gmail.com
     mmarshall
+    Andreas Mock <andreas.mock@web.de>
+    Reza Mohammadi <reza@zeerak.ir>
     Eric Moritz <http://eric.themoritzfamily.com/>
+    mrmachine <real.human@mrmachine.net>
     Robin Munn <http://www.geekforgod.com/>
+    Robert Myers <myer0052@gmail.com>
     Nebojša Dorđević
+    Gopal Narayanan <gopastro@gmail.com>
     Fraser Nevett <mail@nevett.org>
     Sam Newman <http://www.magpiebrain.com/>
     Neal Norwitz <nnorwitz@google.com>
     oggie rob <oz.robharvey@gmail.com>
     Jay Parlar <parlar@gmail.com>
+    pavithran s <pavithran.s@gmail.com>
+    Barry Pederson <bp@barryp.org>
+    petr.marhoun@gmail.com
     pgross@thoughtworks.com
     phaedo <http://phaedo.cx/>
     phil@produxion.net
+    phil.h.smith@gmail.com
     Gustavo Picon
     Luke Plant <http://lukeplant.me.uk/>
     plisk
     Daniel Poelzleithner <http://poelzi.org/>
+    polpak@yahoo.com
     J. Rademaker
     Michael Radziej <mir@noris.de>
-    ramiro
+    Ramiro Morales <rm0@gmx.net>
+    Massimiliano Ravelli <massimiliano.ravelli@gmail.com>
     Brian Ray <http://brianray.chipy.org/>
+    remco@diji.biz
     rhettg@gmail.com
+    Henrique Romano <onaiort@gmail.com>
+    Armin Ronacher
+    Brian Rosner <brosner@gmail.com>
     Oliver Rutherfurd <http://rutherfurd.net/>
     Ivan Sagalaev (Maniac) <http://www.softwaremaniacs.org/>
+    Vinay Sajip <vinay_sajip@yahoo.co.uk>
     David Schein
+    scott@staplefish.com
     serbaut@gmail.com
+    John Shaffer <jshaffer2112@gmail.com>
     Pete Shinners <pete@shinners.org>
+    Jozko Skrablin <jozko.skrablin@gmail.com>
     SmileyChris <smileychris@gmail.com>
+    smurf@smurf.noris.de
     sopel
-    Thomas Steinacher <tom@eggdrop.ch>
+    Wiliam Alves de Souza <wiliamsouza83@gmail.com>
+    Georgi Stanojevski <glisha@gmail.com>
+    Vasiliy Stavenko <stavenko@gmail.com>
+    Thomas Steinacher <http://www.eggdrop.ch/>
+    nowell strite
+    Sundance
     Radek Švarz <http://www.svarz.cz/translate/>
     Swaroop C H <http://www.swaroopch.info>
     Aaron Swartz <http://www.aaronsw.com/>
+    Ville Säävuori <http://www.unessa.net/>
     Tyson Tate <tyson@fallingbullets.com>
+    Frank Tegtmeyer <fte@fte.to>
+    thebjorn <bp@datakortet.no>
+    Zach Thompson <zthompson47@gmail.com>
+    tibimicu@gmax.net
     Tom Tobin
-    Tom Insam
     Joe Topjian <http://joe.terrarum.net/geek/code/python/django/>
+    torne-django@wolfpuppy.org.uk
     Karen Tracey <graybark@bellsouth.net>
+    tstromberg@google.com
+    Makoto Tsuyuki <mtsuyuki@gmail.com>
+    tt@gurgle.no
     Amit Upadhyay
     Geert Vanderkelen
+    viestards.lists@gmail.com
+    Vlado <vlado@labath.org>
     Milton Waddams
+    wam-djangobug@wamber.net
+    wangchun <yaohua2000@gmail.com>
     Dan Watson <http://theidioteque.net/>
+    Chris Wesseling <Chris.Wesseling@cwi.nl>
+    James Wheare <django@sparemint.com>
+    charly.wilhelm@gmail.com
     Rachel Willmer <http://www.willmer.com/kb/>
     Gary Wilson <gary.wilson@gmail.com>
     wojtek
     ye7cakf02@sneakemail.com
     ymasuda@ethercube.com
+    Jarek Zgoda <jarek.zgoda@gmail.com>
     Cheng Zhang
 
 A big THANK YOU goes to:
+include README
 include AUTHORS
 include INSTALL
 include LICENSE
+include MANIFEST.in
+recursive-include docs *
+recursive-include scripts *
+recursive-include examples *
+recursive-include extras *
 recursive-include django/conf/locale *
-recursive-include django/contrib/admin/templates
-recursive-include django/contrib/admin/media
-recursive-include django/contrib/comments/templates
-recursive-include django/contrib/sitemaps/templates
+recursive-include django/contrib/admin/templates *
+recursive-include django/contrib/admin/media *
+recursive-include django/contrib/comments/templates *
+recursive-include django/contrib/databrowse/templates *
+recursive-include django/contrib/sitemaps/templates *

File django/__init__.py

-VERSION = (0, 96, 'pre')
+VERSION = (0, 97, 'pre')
+
+def get_version():
+    "Returns the version as a human-format string."
+    v = '.'.join([str(i) for i in VERSION[:-1]])
+    if VERSION[-1]:
+        v += '-' + VERSION[-1]
+    return v

File django/bin/compile-messages.py

 #!/usr/bin/env python
 
+import optparse
 import os
 import sys
 
-def compile_messages():
+def compile_messages(locale=None):
     basedir = None
 
     if os.path.isdir(os.path.join('conf', 'locale')):
         print "This script should be run from the Django SVN tree or your project or app tree."
         sys.exit(1)
 
+    if locale is not None:
+        basedir = os.path.join(basedir, locale, 'LC_MESSAGES')
+
     for dirpath, dirnames, filenames in os.walk(basedir):
         for f in filenames:
             if f.endswith('.po'):
                 os.environ['djangocompilemo'] = pf + '.mo'
                 os.environ['djangocompilepo'] = pf + '.po'
                 if sys.platform == 'win32': # Different shell-variable syntax
-                    cmd = 'msgfmt -o "%djangocompilemo%" "%djangocompilepo%"'
+                    cmd = 'msgfmt --check-format -o "%djangocompilemo%" "%djangocompilepo%"'
                 else:
-                    cmd = 'msgfmt -o "$djangocompilemo" "$djangocompilepo"'
+                    cmd = 'msgfmt --check-format -o "$djangocompilemo" "$djangocompilepo"'
                 os.system(cmd)
 
+def main():
+    parser = optparse.OptionParser()
+    parser.add_option('-l', '--locale', dest='locale',
+            help="The locale to process. Default is to process all.")
+    options, args = parser.parse_args()
+    if len(args):
+        parser.error("This program takes no arguments")
+    compile_messages(options.locale)
+
 if __name__ == "__main__":
-    compile_messages()
+    main()

File django/bin/daily_cleanup.py

+#!/usr/bin/env python
+
 """
 Daily cleanup job.
 
 sessions at the moment).
 """
 
-from django.db import backend, connection, transaction
+import datetime
+from django.db import transaction
+from django.contrib.sessions.models import Session
 
 def clean_up():
-    # Clean up old database records
-    cursor = connection.cursor()
-    cursor.execute("DELETE FROM %s WHERE %s < NOW()" % \
-        (backend.quote_name('django_session'), backend.quote_name('expire_date')))
+    """Clean up expired sessions."""
+    Session.objects.filter(expire_date__lt=datetime.datetime.now()).delete()
     transaction.commit_unless_managed()
 
 if __name__ == "__main__":

File django/bin/make-messages.py

 import os
 import sys
 import getopt
+from itertools import dropwhile
 
 pythonize_re = re.compile(r'\n\s*//')
 
                     src = pythonize_re.sub('\n#', src)
                     open(os.path.join(dirpath, '%s.py' % file), "wb").write(src)
                     thefile = '%s.py' % file
-                    cmd = 'xgettext %s -d %s -L Perl --keyword=gettext_noop --keyword=gettext_lazy --keyword=ngettext_lazy -o - "%s"' % (
+                    cmd = 'xgettext %s -d %s -L Perl --keyword=gettext_noop --keyword=gettext_lazy --keyword=ngettext_lazy:1,2 --from-code UTF-8 -o - "%s"' % (
                         os.path.exists(potfile) and '--omit-header' or '', domain, os.path.join(dirpath, thefile))
                     (stdin, stdout, stderr) = os.popen3(cmd, 'b')
                     msgs = stdout.read()
                         open(os.path.join(dirpath, '%s.py' % file), "wb").write(templatize(src))
                         thefile = '%s.py' % file
                     if verbose: sys.stdout.write('processing file %s in %s\n' % (file, dirpath))
-                    cmd = 'xgettext %s -d %s -L Python --keyword=gettext_noop --keyword=gettext_lazy --keyword=ngettext_lazy -o - "%s"' % (
-                        os.path.exists(potfile) and '--omit-header' or '', domain, os.path.join(dirpath, thefile))
+                    cmd = 'xgettext -d %s -L Python --keyword=gettext_noop --keyword=gettext_lazy --keyword=ngettext_lazy:1,2 --keyword=ugettext_noop --keyword=ugettext_lazy --keyword=ungettext_lazy:1,2 --from-code UTF-8 -o - "%s"' % (
+                        domain, os.path.join(dirpath, thefile))
                     (stdin, stdout, stderr) = os.popen3(cmd, 'b')
                     msgs = stdout.read()
                     errors = stderr.read()
                         old = '#: '+os.path.join(dirpath, thefile)[2:]
                         new = '#: '+os.path.join(dirpath, file)[2:]
                         msgs = msgs.replace(old, new)
+                    if os.path.exists(potfile):
+                        # Strip the header
+                        msgs = '\n'.join(dropwhile(len, msgs.split('\n')))
+                    else:
+                        msgs = msgs.replace('charset=CHARSET', 'charset=UTF-8')
                     if msgs:
                         open(potfile, 'ab').write(msgs)
                     if thefile != file:
                         os.unlink(os.path.join(dirpath, thefile))
 
         if os.path.exists(potfile):
-            (stdin, stdout, stderr) = os.popen3('msguniq "%s"' % potfile, 'b')
+            (stdin, stdout, stderr) = os.popen3('msguniq --to-code=utf-8 "%s"' % potfile, 'b')
             msgs = stdout.read()
             errors = stderr.read()
             if errors:

File django/bin/profiling/gather_profile_stats.py

         else:
             continue
         print "Processing %s" % f
-        if profiles.has_key(path):
+        if path in profiles:
             profiles[path].add(prof)
         else:
             profiles[path] = prof

File django/conf/__init__.py

 """
 
 import os
+import time     # Needed for Windows
 from django.conf import global_settings
 
 ENVIRONMENT_VARIABLE = "DJANGO_SETTINGS_MODULE"
             # __setattr__(), which would be an infinite loop.
             self.__dict__['_target'] = value
         else:
+            if self._target is None:
+                self._import_settings()
             setattr(self._target, name, value)
 
     def _import_settings(self):
         self.SETTINGS_MODULE = settings_module
 
         try:
-            mod = __import__(self.SETTINGS_MODULE, '', '', [''])
+            mod = __import__(self.SETTINGS_MODULE, {}, {}, [''])
         except ImportError, e:
             raise EnvironmentError, "Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?): %s" % (self.SETTINGS_MODULE, e)
 
         new_installed_apps = []
         for app in self.INSTALLED_APPS:
             if app.endswith('.*'):
-                appdir = os.path.dirname(__import__(app[:-2], '', '', ['']).__file__)
+                appdir = os.path.dirname(__import__(app[:-2], {}, {}, ['']).__file__)
                 for d in os.listdir(appdir):
                     if d.isalpha() and os.path.isdir(os.path.join(appdir, d)):
                         new_installed_apps.append('%s.%s' % (app[:-2], d))
                 new_installed_apps.append(app)
         self.INSTALLED_APPS = new_installed_apps
 
-        # move the time zone info into os.environ
-        os.environ['TZ'] = self.TIME_ZONE
+        if hasattr(time, 'tzset'):
+            # 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
 
     def get_all_members(self):
         return dir(self)

File django/conf/global_settings.py

 INTERNAL_IPS = ()
 
 # Local time zone for this installation. All choices can be found here:
-# http://www.postgresql.org/docs/current/static/datetime-keywords.html#DATETIME-TIMEZONE-SET-TABLE
+# http://www.postgresql.org/docs/8.1/static/datetime-keywords.html#DATETIME-TIMEZONE-SET-TABLE
 TIME_ZONE = 'America/Chicago'
 
 # Language code for this installation. All choices can be found here:
 # http://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodes
-# http://blogs.law.harvard.edu/tech/stories/storyReader$15
 LANGUAGE_CODE = 'en-us'
 
 # Languages we provide translations for, out of the box. The language name
 LANGUAGES = (
     ('ar', gettext_noop('Arabic')),
     ('bn', gettext_noop('Bengali')),
+    ('bg', gettext_noop('Bulgarian')),
+    ('ca', gettext_noop('Catalan')),
     ('cs', gettext_noop('Czech')),
     ('cy', gettext_noop('Welsh')),
     ('da', gettext_noop('Danish')),
     ('en', gettext_noop('English')),
     ('es', gettext_noop('Spanish')),
     ('es_AR', gettext_noop('Argentinean Spanish')),
+    ('fa', gettext_noop('Persian')),
     ('fi', gettext_noop('Finnish')),
     ('fr', gettext_noop('French')),
     ('gl', gettext_noop('Galician')),
     ('is', gettext_noop('Icelandic')),
     ('it', gettext_noop('Italian')),
     ('ja', gettext_noop('Japanese')),
+    ('ko', gettext_noop('Korean')),
+    ('kn', gettext_noop('Kannada')),
+    ('lv', gettext_noop('Latvian')),
+    ('mk', gettext_noop('Macedonian')),
     ('nl', gettext_noop('Dutch')),
     ('no', gettext_noop('Norwegian')),
     ('pl', gettext_noop('Polish')),
+    ('pt', gettext_noop('Portugese')),
     ('pt-br', gettext_noop('Brazilian')),
     ('ro', gettext_noop('Romanian')),
     ('ru', gettext_noop('Russian')),
     ('sr', gettext_noop('Serbian')),
     ('sv', gettext_noop('Swedish')),
     ('ta', gettext_noop('Tamil')),
+    ('te', gettext_noop('Telugu')),
     ('tr', gettext_noop('Turkish')),
     ('uk', gettext_noop('Ukrainian')),
     ('zh-cn', gettext_noop('Simplified Chinese')),
 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'
 
 SEND_BROKEN_LINK_EMAILS = False
 
 # Database connection info.
-DATABASE_ENGINE = ''           # 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'.
+DATABASE_ENGINE = ''           # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'.
 DATABASE_NAME = ''             # Or path to database file if using sqlite3.
 DATABASE_USER = ''             # Not used with sqlite3.
 DATABASE_PASSWORD = ''         # Not used with sqlite3.
 DATABASE_HOST = ''             # Set to empty string for localhost. Not used with sqlite3.
 DATABASE_PORT = ''             # Set to empty string for default. Not used with sqlite3.
+DATABASE_OPTIONS = {}          # Set to empty dictionary for default.
 
 # Host for sending e-mail.
 EMAIL_HOST = 'localhost'
 # 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 = ()
     'django.core.context_processors.auth',
     'django.core.context_processors.debug',
     'django.core.context_processors.i18n',
+    'django.core.context_processors.media',
 #    'django.core.context_processors.request',
 )
 
 # 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 (http://www.djangoproject.com)" % get_version()
+
 ##############
 # MIDDLEWARE #
 ##############
 # possible values.
 CACHE_BACKEND = 'simple://'
 CACHE_MIDDLEWARE_KEY_PREFIX = ''
+CACHE_MIDDLEWARE_SECONDS = 600
 
 ####################
 # COMMENTS         #
 
 AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend',)
 
+LOGIN_URL = '/accounts/login/'
+
+LOGOUT_URL = '/accounts/logout/'
+
+LOGIN_REDIRECT_URL = '/accounts/profile/'
+
 ###########
 # TESTING #
 ###########
 # The name of the database to use for testing purposes.
 # If None, a name of 'test_' + DATABASE_NAME will be assumed
 TEST_DATABASE_NAME = None
+
+# Strings used to set the character set and collation order for the test
+# database. These values are passed literally to the server, so they are
+# backend-dependent. If None, no special settings are sent (system defaults are
+# used).
+TEST_DATABASE_CHARSET = None
+TEST_DATABASE_COLLATION = None
+
+############
+# FIXTURES #
+############
+
+# The list of directories to search for fixtures
+FIXTURE_DIRS = ()

File django/conf/locale/bg/LC_MESSAGES/django.mo

Binary file added.

File django/conf/locale/bg/LC_MESSAGES/django.po

+# translation of django.po to Bulgarian
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: django\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-04-05 01:32+1000\n"
+"PO-Revision-Date: 2007-05-12 17:45+0300\n"
+"Last-Translator: Jordan Dimov <s3x3y1@gmail.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: db/models/manipulators.py:307
+#, python-format
+msgid "%(object)s with this %(type)s already exists for the given %(field)s."
+msgstr "%(object)s с този %(type)s вече съществува за зададеното %(field)s.s"
+
+#: db/models/manipulators.py:308 contrib/admin/views/main.py:335
+#: contrib/admin/views/main.py:337 contrib/admin/views/main.py:339
+msgid "and"
+msgstr "и"
+
+#: db/models/fields/related.py:53
+#, python-format
+msgid "Please enter a valid %s."
+msgstr "Въведете валиден %s."
+
+#: db/models/fields/related.py:642
+msgid "Separate multiple IDs with commas."
+msgstr "Множество ID-та се разделят с запетайки"
+
+#: db/models/fields/related.py:644
+msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one."
+msgstr "Задръжте натиснат клавиша \"Control\" (или \"Command\" на Mac-а) за да направите повече от един избор.  "
+
+#: db/models/fields/related.py:691
+#, python-format
+msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid."
+msgid_plural "Please enter valid %(self)s IDs. The values %(value)r are invalid."
+msgstr[0] "Въведете валидни %(self)s ID-та. Стойността %(value)r не е валидна."
+msgstr[1] ""
+
+#: db/models/fields/__init__.py:42
+#, python-format
+msgid "%(optname)s with this %(fieldname)s already exists."
+msgstr "%(optname)s с този %(fieldname)s вече съществува."
+
+#: db/models/fields/__init__.py:117 db/models/fields/__init__.py:274
+#: db/models/fields/__init__.py:610 db/models/fields/__init__.py:621
+#: oldforms/__init__.py:357 newforms/fields.py:80 newforms/fields.py:376
+#: newforms/fields.py:452 newforms/fields.py:463 newforms/models.py:178
+msgid "This field is required."
+msgstr "Това поле е задължително."
+
+#: db/models/fields/__init__.py:367
+msgid "This value must be an integer."
+msgstr "Тази стойност трябва да бъде цяло число"
+
+#: db/models/fields/__init__.py:402
+msgid "This value must be either True or False."
+msgstr "Тази стойност трябва да бъде True или False."
+
+#: db/models/fields/__init__.py:423
+msgid "This field cannot be null."
+msgstr "Това поле не може да има празна стойност."
+
+#: db/models/fields/__init__.py:457 core/validators.py:148
+msgid "Enter a valid date in YYYY-MM-DD format."
+msgstr "Въведете валидна дата в формат ГГГГ-ММ-ДД."
+
+#: db/models/fields/__init__.py:526 core/validators.py:157
+msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format."
+msgstr "Въведете валидна дата и час в формат ГГГГ-ММ-ДД ЧЧ:ММ."
+
+#: db/models/fields/__init__.py:630
+msgid "Enter a valid filename."
+msgstr "Въведете валидно име на файл."
+
+#: db/models/fields/__init__.py:751
+msgid "This value must be either None, True or False."
+msgstr "Тази стойност трябва да бъде None, True, или False."
+
+#: conf/global_settings.py:39
+msgid "Arabic"
+msgstr "арабски"
+
+#: conf/global_settings.py:40
+msgid "Bengali"
+msgstr "бенгалски"
+
+#: conf/global_settings.py:41
+msgid "Catalan"
+msgstr "каталонски"
+
+#: conf/global_settings.py:42
+msgid "Czech"
+msgstr "чешки"
+
+#: conf/global_settings.py:43
+msgid "Welsh"
+msgstr "уелски"
+
+#: conf/global_settings.py:44
+msgid "Danish"
+msgstr "датски"
+
+#: conf/global_settings.py:45
+msgid "German"
+msgstr "немски"
+
+#: conf/global_settings.py:46
+msgid "Greek"
+msgstr "гръцки"
+
+#: conf/global_settings.py:47
+msgid "English"
+msgstr "английски"
+
+#: conf/global_settings.py:48
+msgid "Spanish"
+msgstr "испански"
+
+#: conf/global_settings.py:49
+msgid "Argentinean Spanish"
+msgstr "аржентински испански"
+
+#: conf/global_settings.py:50
+msgid "Finnish"
+msgstr "финландски"
+
+#: conf/global_settings.py:51
+msgid "French"
+msgstr "френски"
+
+#: conf/global_settings.py:52
+msgid "Galician"
+msgstr "галицейски"
+
+#: conf/global_settings.py:53
+msgid "Hungarian"
+msgstr "унгарски"
+
+#: conf/global_settings.py:54
+msgid "Hebrew"
+msgstr "еврит"
+
+#: conf/global_settings.py:55
+msgid "Icelandic"
+msgstr "исландски"
+
+#: conf/global_settings.py:56
+msgid "Italian"
+msgstr "италиански"
+
+#: conf/global_settings.py:57
+msgid "Japanese"
+msgstr "японски"
+
+#: conf/global_settings.py:58
+msgid "Kannada"
+msgstr "каннада (индийски)"
+
+#: conf/global_settings.py:59
+msgid "Latvian"
+msgstr "латвийски"
+
+#: conf/global_settings.py:60
+msgid "Macedonian"
+msgstr "македонски"
+
+#: conf/global_settings.py:61
+msgid "Dutch"
+msgstr "холандски"
+
+#: conf/global_settings.py:62
+msgid "Norwegian"
+msgstr "норвежки"
+
+#: conf/global_settings.py:63
+msgid "Polish"
+msgstr "полски"
+
+#: conf/global_settings.py:64
+msgid "Portugese"
+msgstr "португалски"
+
+#: conf/global_settings.py:65
+msgid "Brazilian"
+msgstr "бразилски"
+
+#: conf/global_settings.py:66
+msgid "Romanian"
+msgstr "ромънски"
+
+#: conf/global_settings.py:67
+msgid "Russian"
+msgstr "руски"
+
+#: conf/global_settings.py:68
+msgid "Slovak"
+msgstr "словашки"
+
+#: conf/global_settings.py:69
+msgid "Slovenian"
+msgstr "словенски"
+
+#: conf/global_settings.py:70
+msgid "Serbian"
+msgstr "сръбски"
+
+#: conf/global_settings.py:71
+msgid "Swedish"
+msgstr "шведски"
+
+#: conf/global_settings.py:72
+msgid "Tamil"
+msgstr "тамил (индийски)"
+
+#: conf/global_settings.py:73
+msgid "Telugu"
+msgstr "телугу (индийски)"
+
+#: conf/global_settings.py:74
+msgid "Turkish"
+msgstr "турски"
+
+#: conf/global_settings.py:75
+msgid "Ukrainian"
+msgstr "украински"
+
+#: conf/global_settings.py:76
+msgid "Simplified Chinese"
+msgstr "китайски"
+
+#: conf/global_settings.py:77
+msgid "Traditional Chinese"
+msgstr "традиционен китайски"
+
+#: utils/timesince.py:12
+msgid "year"
+msgid_plural "years"
+msgstr[0] "година"
+msgstr[1] "години"
+
+#: utils/timesince.py:13
+msgid "month"
+msgid_plural "months"
+msgstr[0] "месец"
+msgstr[1] "месеци"
+
+#: utils/timesince.py:14
+msgid "week"
+msgid_plural "weeks"
+msgstr[0] "седмица"
+msgstr[1] "седмици"
+
+#: utils/timesince.py:15
+msgid "day"
+msgid_plural "days"
+msgstr[0] "ден"
+msgstr[1] "дни"
+
+#: utils/timesince.py:16
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] "час"
+msgstr[1] "часа"
+
+#: utils/timesince.py:17
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] "минута"
+msgstr[1] "минути"
+
+#: utils/dates.py:6
+msgid "Monday"
+msgstr "понеделник"
+
+#: utils/dates.py:6
+msgid "Tuesday"
+msgstr "вторник"
+
+#: utils/dates.py:6
+msgid "Wednesday"
+msgstr "сряда"
+
+#: utils/dates.py:6
+msgid "Thursday"
+msgstr "четвъртък"
+
+#: utils/dates.py:6
+msgid "Friday"
+msgstr "петък"
+
+#: utils/dates.py:7
+msgid "Saturday"
+msgstr "събота"
+
+#: utils/dates.py:7
+msgid "Sunday"
+msgstr "неделя"
+
+#: utils/dates.py:14
+msgid "January"
+msgstr "Януари"
+
+#: utils/dates.py:14
+msgid "February"
+msgstr "Февруари"
+
+#: utils/dates.py:14 utils/dates.py:27
+msgid "March"
+msgstr "Март"
+
+#: utils/dates.py:14 utils/dates.py:27
+msgid "April"
+msgstr "Април"
+
+#: utils/dates.py:14 utils/dates.py:27
+msgid "May"
+msgstr "Май"
+
+#: utils/dates.py:14 utils/dates.py:27
+msgid "June"
+msgstr "Юни"
+
+#: utils/dates.py:15 utils/dates.py:27
+msgid "July"
+msgstr "Юли"
+
+#: utils/dates.py:15
+msgid "August"
+msgstr "Август"
+
+#: utils/dates.py:15
+msgid "September"
+msgstr "Септември"
+
+#: utils/dates.py:15
+msgid "October"
+msgstr "Октомври"
+
+#: utils/dates.py:15
+msgid "November"
+msgstr "Ноември"
+
+#: utils/dates.py:16
+msgid "December"
+msgstr "Декември"
+
+#: utils/dates.py:19
+msgid "jan"
+msgstr "яну"
+
+#: utils/dates.py:19
+msgid "feb"
+msgstr "фев"
+
+#: utils/dates.py:19
+msgid "mar"
+msgstr "мар"
+
+#: utils/dates.py:19
+msgid "apr"
+msgstr "апр"
+
+#: utils/dates.py:19
+msgid "may"
+msgstr "май"
+
+#: utils/dates.py:19
+msgid "jun"
+msgstr "юни"
+
+#: utils/dates.py:20
+msgid "jul"
+msgstr "юли"
+
+#: utils/dates.py:20
+msgid "aug"
+msgstr "авг"
+
+#: utils/dates.py:20
+msgid "sep"
+msgstr "сеп"
+
+#: utils/dates.py:20
+msgid "oct"
+msgstr "окт"
+
+#: utils/dates.py:20
+msgid "nov"
+msgstr "ное"
+
+#: utils/dates.py:20
+msgid "dec"
+msgstr "дек"
+
+#: utils/dates.py:27
+msgid "Jan."
+msgstr "Яну."
+
+#: utils/dates.py:27
+msgid "Feb."
+msgstr "Фев."
+
+#: utils/dates.py:28
+msgid "Aug."
+msgstr "Авг."
+
+#: utils/dates.py:28
+msgid "Sept."
+msgstr "Септ."
+
+#: utils/dates.py:28
+msgid "Oct."
+msgstr "Окт."
+
+#: utils/dates.py:28
+msgid "Nov."
+msgstr "Ное."
+
+#: utils/dates.py:28
+msgid "Dec."
+msgstr "Дек."
+
+#: utils/dateformat.py:40
+msgid "p.m."
+msgstr "p.m."
+
+#: utils/dateformat.py:41
+msgid "a.m."
+msgstr "a.m."
+
+#: utils/dateformat.py:46
+msgid "PM"
+msgstr "PM"
+
+#: utils/dateformat.py:47
+msgid "AM"
+msgstr "AM"
+
+#: utils/dateformat.py:95
+msgid "midnight"
+msgstr "полунощ"
+
+#: utils/dateformat.py:97
+msgid "noon"
+msgstr "обяд"
+
+#: utils/translation/trans_real.py:358
+msgid "DATE_FORMAT"
+msgstr "j N, Y"
+
+#: utils/translation/trans_real.py:359
+msgid "DATETIME_FORMAT"
+msgstr "j N, Y, P"
+
+#: utils/translation/trans_real.py:360
+msgid "TIME_FORMAT"
+msgstr "P"
+
+#: utils/translation/trans_real.py:376
+msgid "YEAR_MONTH_FORMAT"
+msgstr "F Y"
+
+#: utils/translation/trans_real.py:377
+msgid "MONTH_DAY_FORMAT"
+msgstr "j F"
+
+#: oldforms/__init__.py:392
+#, python-format
+msgid "Ensure your text is less than %s character."
+msgid_plural "Ensure your text is less than %s characters."
+msgstr[0] "Въведеният текст не трябва да надвишава %s символа."
+msgstr[1] ""
+
+#: oldforms/__init__.py:397
+msgid "Line breaks are not allowed here."
+msgstr "Тук не се допускат нови редове."
+
+#: oldforms/__init__.py:498 oldforms/__init__.py:571 oldforms/__init__.py:610
+#, python-format
+msgid "Select a valid choice; '%(data)s' is not in %(choices)s."
+msgstr "Направете валиден избор; '%(data)s' не е сред %(choices)s."
+
+#: oldforms/__init__.py:577 contrib/admin/filterspecs.py:150
+#: newforms/widgets.py:174
+msgid "Unknown"
+msgstr "Неизвестно"
+
+#: oldforms/__init__.py:577 contrib/admin/filterspecs.py:143
+#: newforms/widgets.py:174
+msgid "Yes"
+msgstr "Да"
+
+#: oldforms/__init__.py:577 contrib/admin/filterspecs.py:143
+#: newforms/widgets.py:174
+msgid "No"
+msgstr "Не"
+
+#: oldforms/__init__.py:672 core/validators.py:174 core/validators.py:445
+msgid "No file was submitted. Check the encoding type on the form."
+msgstr "Не е получен файл.  Проверете типът кодиране на формата.  "
+
+#: oldforms/__init__.py:674
+msgid "The submitted file is empty."
+msgstr "Каченият файл е празен.  "
+
+#: oldforms/__init__.py:730
+msgid "Enter a whole number between -32,768 and 32,767."
+msgstr "Въведете цяло число между -32768 и 32767."
+
+#: oldforms/__init__.py:740
+msgid "Enter a positive number."
+msgstr "Въведете положително число.  "
+
+#: oldforms/__init__.py:750
+msgid "Enter a whole number between 0 and 32,767."
+msgstr "Въведете цяло число между 0 и 32767."
+
+#: contrib/localflavor/no/forms.py:15
+msgid "Enter a zip code in the format XXXX."
+msgstr "Въведете пощенски код в формат XXXX."
+
+#: contrib/localflavor/no/forms.py:36
+msgid "Enter a valid Norwegian social security number."
+msgstr "Въведете валиден норвежки номер на социалната осигуровка."
+
+#: contrib/localflavor/it/forms.py:14 contrib/localflavor/fr/forms.py:17
+#: contrib/localflavor/fi/forms.py:14 contrib/localflavor/de/forms.py:16
+msgid "Enter a zip code in the format XXXXX."
+msgstr "Въведете пощенски код в формат XXXXX."
+
+#: contrib/localflavor/jp/forms.py:21
+msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX."
+msgstr "Въведете пощенски код в формат XXXXXXX или XXX-XXXX."
+
+#: contrib/localflavor/jp/jp_prefectures.py:4
+msgid "Hokkaido"
+msgstr ""
+
+#: contrib/localflavor/jp/jp_prefectures.py:5
+msgid "Aomori"
+msgstr ""
+
+#: contrib/localflavor/jp/jp_prefectures.py:6
+msgid "Iwate"
+msgstr ""
+
+#: contrib/localflavor/jp/jp_prefectures.py:7
+msgid "Miyagi"
+msgstr ""
+
+#: contrib/localflavor/jp/jp_prefectures.py:8
+msgid "Akita"
+msgstr ""
+
+#: contrib/localflavor/jp/jp_prefectures.py:9
+msgid "Yamagata"
+msgstr ""
+
+#: contrib/localflavor/jp/jp_prefectures.py:10
+msgid "Fukushima"
+msgstr ""
+
+#: contrib/localflavor/jp/jp_prefectures.py:11
+msgid "Ibaraki"
+msgstr ""
+
+#: contrib/localflavor/jp/jp_prefectures.py:12
+msgid "Tochigi"
+msgstr ""
+
+#: contrib/localflavor/jp/jp_prefectures.py:13
+msgid "Gunma"
+msgstr ""
+
+#: contrib/localflavor/jp/jp_prefectures.py:14
+msgid "Saitama"
+msgstr ""
+
+#: contrib/localflavor/jp/jp_prefectures.py:15
+msgid "Chiba"
+msgstr ""
+
+#: contrib/localflavor/jp/jp_prefectures.py:16
+msgid "Tokyo"
+msgstr ""