änderung1

This commit is contained in:
khaloufam70043 committed 2019-10-29 14:29:36 +01:00
1 parent cc1d096bc3
commit cbdda613b7
2098 files changed
+274524

No files matched your search

@@ -0,0 +1,7 @@
from django.apps import AppConfig
from django.utils.translation import gettext_lazy as _
class SessionsConfig(AppConfig):
name = 'django.contrib.sessions'
verbose_name = _("Sessions")
@@ -0,0 +1,81 @@
from django.conf import settings
from django.contrib.sessions.backends.base import (
CreateError, SessionBase, UpdateError,
)
from django.core.cache import caches
KEY_PREFIX = "django.contrib.sessions.cache"
class SessionStore(SessionBase):
"""
A cache-based session store.
"""
cache_key_prefix = KEY_PREFIX
def __init__(self, session_key=None):
self._cache = caches[settings.SESSION_CACHE_ALIAS]
super().__init__(session_key)
@property
def cache_key(self):
return self.cache_key_prefix + self._get_or_create_session_key()
def load(self):
try:
session_data = self._cache.get(self.cache_key)
except Exception:
# Some backends (e.g. memcache) raise an exception on invalid
# cache keys. If this happens, reset the session. See #17810.
session_data = None
if session_data is not None:
return session_data
self._session_key = None
return {}
def create(self):
# Because a cache can fail silently (e.g. memcache), we don't know if
# we are failing to create a new session because of a key collision or
# because the cache is missing. So we try for a (large) number of times
# and then raise an exception. That's the risk you shoulder if using
# cache backing.
for i in range(10000):
self._session_key = self._get_new_session_key()
try:
self.save(must_create=True)
except CreateError:
continue
self.modified = True
return
raise RuntimeError(
"Unable to create a new session key. "
"It is likely that the cache is unavailable.")
def save(self, must_create=False):
if self.session_key is None:
return self.create()
if must_create:
func = self._cache.add
elif self._cache.get(self.cache_key) is not None:
func = self._cache.set
else:
raise UpdateError
result = func(self.cache_key,
self._get_session(no_load=must_create),
self.get_expiry_age())
if must_create and not result:
raise CreateError
def exists(self, session_key):
return bool(session_key) and (self.cache_key_prefix + session_key) in self._cache
def delete(self, session_key=None):
if session_key is None:
if self.session_key is None:
return
session_key = self.session_key
self._cache.delete(self.cache_key_prefix + session_key)
@classmethod
def clear_expired(cls):
pass
@@ -0,0 +1,109 @@
import logging
from django.contrib.sessions.backends.base import (
CreateError, SessionBase, UpdateError,
)
from django.core.exceptions import SuspiciousOperation
from django.db import DatabaseError, IntegrityError, router, transaction
from django.utils import timezone
from django.utils.functional import cached_property
class SessionStore(SessionBase):
"""
Implement database session store.
"""
def __init__(self, session_key=None):
super().__init__(session_key)
@classmethod
def get_model_class(cls):
# Avoids a circular import and allows importing SessionStore when
# django.contrib.sessions is not in INSTALLED_APPS.
from django.contrib.sessions.models import Session
return Session
@cached_property
def model(self):
return self.get_model_class()
def _get_session_from_db(self):
try:
return self.model.objects.get(
session_key=self.session_key,
expire_date__gt=timezone.now()
)
except (self.model.DoesNotExist, SuspiciousOperation) as e:
if isinstance(e, SuspiciousOperation):
logger = logging.getLogger('django.security.%s' % e.__class__.__name__)
logger.warning(str(e))
self._session_key = None
def load(self):
s = self._get_session_from_db()
return self.decode(s.session_data) if s else {}
def exists(self, session_key):
return self.model.objects.filter(session_key=session_key).exists()
def create(self):
while True:
self._session_key = self._get_new_session_key()
try:
# Save immediately to ensure we have a unique entry in the
# database.
self.save(must_create=True)
except CreateError:
# Key wasn't unique. Try again.
continue
self.modified = True
return
def create_model_instance(self, data):
"""
Return a new instance of the session model object, which represents the
current session state. Intended to be used for saving the session data
to the database.
"""
return self.model(
session_key=self._get_or_create_session_key(),
session_data=self.encode(data),
expire_date=self.get_expiry_date(),
)
def save(self, must_create=False):
"""
Save the current session data to the database. If 'must_create' is
True, raise a database error if the saving operation doesn't create a
new entry (as opposed to possibly updating an existing entry).
"""
if self.session_key is None:
return self.create()
data = self._get_session(no_load=must_create)
obj = self.create_model_instance(data)
using = router.db_for_write(self.model, instance=obj)
try:
with transaction.atomic(using=using):
obj.save(force_insert=must_create, force_update=not must_create, using=using)
except IntegrityError:
if must_create:
raise CreateError
raise
except DatabaseError:
if not must_create:
raise UpdateError
raise
def delete(self, session_key=None):
if session_key is None:
if self.session_key is None:
return
session_key = self.session_key
try:
self.model.objects.get(session_key=session_key).delete()
except self.model.DoesNotExist:
pass
@classmethod
def clear_expired(cls):
cls.get_model_class().objects.filter(expire_date__lt=timezone.now()).delete()
@@ -0,0 +1,82 @@
from django.conf import settings
from django.contrib.sessions.backends.base import SessionBase
from django.core import signing
class SessionStore(SessionBase):
def load(self):
"""
Load the data from the key itself instead of fetching from some
external data store. Opposite of _get_session_key(), raise BadSignature
if signature fails.
"""
try:
return signing.loads(
self.session_key,
serializer=self.serializer,
# This doesn't handle non-default expiry dates, see #19201
max_age=settings.SESSION_COOKIE_AGE,
salt='django.contrib.sessions.backends.signed_cookies',
)
except Exception:
# BadSignature, ValueError, or unpickling exceptions. If any of
# these happen, reset the session.
self.create()
return {}
def create(self):
"""
To create a new key, set the modified flag so that the cookie is set
on the client for the current request.
"""
self.modified = True
def save(self, must_create=False):
"""
To save, get the session key as a securely signed string and then set
the modified flag so that the cookie is set on the client for the
current request.
"""
self._session_key = self._get_session_key()
self.modified = True
def exists(self, session_key=None):
"""
This method makes sense when you're talking to a shared resource, but
it doesn't matter when you're storing the information in the client's
cookie.
"""
return False
def delete(self, session_key=None):
"""
To delete, clear the session key and the underlying data structure
and set the modified flag so that the cookie is set on the client for
the current request.
"""
self._session_key = ''
self._session_cache = {}
self.modified = True
def cycle_key(self):
"""
Keep the same data but with a new key. Call save() and it will
automatically save a cookie with a new key at the end of the request.
"""
self.save()
def _get_session_key(self):
"""
Instead of generating a random string, generate a secure url-safe
base64-encoded string of data as our session key.
"""
return signing.dumps(
self._session, compress=True,
salt='django.contrib.sessions.backends.signed_cookies',
serializer=self.serializer,
)
@classmethod
def clear_expired(cls):
pass
@@ -0,0 +1,36 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Ḷḷumex03 <tornes@opmbx.org>, 2014
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-23 19:51+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Asturian (http://www.transifex.com/django/django/language/"
"ast/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ast\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Sessions"
msgstr ""
msgid "session key"
msgstr "clave de sesión"
msgid "session data"
msgstr "datos de sesión"
msgid "expire date"
msgstr "data de caducidá"
msgid "session"
msgstr "sesión"
msgid "sessions"
msgstr "sesiones"
@@ -0,0 +1,37 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Ali Ismayilov <ali@ismailov.info>, 2011
# Emin Mastizada <emin@linux.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2018-04-27 13:19+0000\n"
"Last-Translator: Emin Mastizada <emin@linux.com>\n"
"Language-Team: Azerbaijani (http://www.transifex.com/django/django/language/"
"az/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: az\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Sessions"
msgstr "Seanslar"
msgid "session key"
msgstr "seans açarı"
msgid "session data"
msgstr "seansın məlumatları"
msgid "expire date"
msgstr "bitmə tarixi"
msgid "session"
msgstr "seans"
msgid "sessions"
msgstr "seanslar"
@@ -0,0 +1,37 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
# vestimir <vestimir@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 16:40+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Bulgarian (http://www.transifex.com/django/django/language/"
"bg/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: bg\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Sessions"
msgstr "Сесии"
msgid "session key"
msgstr "ключ на сесията"
msgid "session data"
msgstr "данни от сесията"
msgid "expire date"
msgstr "дата на валидност"
msgid "session"
msgstr "сесия"
msgid "sessions"
msgstr "сесии"
@@ -0,0 +1,36 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 16:40+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Bengali (http://www.transifex.com/django/django/language/"
"bn/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: bn\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Sessions"
msgstr ""
msgid "session key"
msgstr "সেশন কি"
msgid "session data"
msgstr "সেশন ডাটা"
msgid "expire date"
msgstr "মেয়াদ শেষের তারিখ"
msgid "session"
msgstr "সেশন"
msgid "sessions"
msgstr "সেশনসমূহ"
@@ -0,0 +1,37 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 16:40+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Bosnian (http://www.transifex.com/django/django/language/"
"bs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: bs\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
msgid "Sessions"
msgstr ""
msgid "session key"
msgstr "ključ sesije"
msgid "session data"
msgstr "podaci sesije"
msgid "expire date"
msgstr "datum isteka"
msgid "session"
msgstr "sesija"
msgid "sessions"
msgstr "sesije"
@@ -0,0 +1,37 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Carles Barrobés <carles@barrobes.com>, 2014
# Jannis Leidel <jannis@leidel.info>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 16:40+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Catalan (http://www.transifex.com/django/django/language/"
"ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ca\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Sessions"
msgstr "Sessions"
msgid "session key"
msgstr "clau de la sessió"
msgid "session data"
msgstr "dades de la sessió"
msgid "expire date"
msgstr "data de caducitat"
msgid "session"
msgstr "sessió"
msgid "sessions"
msgstr "sessions"
@@ -0,0 +1,36 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
# Vláďa Macek <macek@sandbox.cz>, 2014
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 16:40+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Czech (http://www.transifex.com/django/django/language/cs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: cs\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
msgid "Sessions"
msgstr "Sezení"
msgid "session key"
msgstr "klíč sezení"
msgid "session data"
msgstr "data sezení"
msgid "expire date"
msgstr "datum expirace"
msgid "session"
msgstr "sezení"
msgid "sessions"
msgstr "sezení"
@@ -0,0 +1,37 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
# Maredudd ap Gwyndaf <maredudd@maredudd.com>, 2013-2014
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-23 18:54+0000\n"
"Last-Translator: Maredudd ap Gwyndaf <maredudd@maredudd.com>\n"
"Language-Team: Welsh (http://www.transifex.com/django/django/language/cy/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: cy\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != "
"11) ? 2 : 3;\n"
msgid "Sessions"
msgstr "Sesiynau"
msgid "session key"
msgstr "allwedd sesiwn"
msgid "session data"
msgstr "data sesiwn"
msgid "expire date"
msgstr "dyddiad terfyn"
msgid "session"
msgstr "sesiwn"
msgid "sessions"
msgstr "sesiynau"
@@ -0,0 +1,36 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Erik Wognsen <r4mses@gmail.com>, 2014
# Jannis Leidel <jannis@leidel.info>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 16:40+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Danish (http://www.transifex.com/django/django/language/da/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: da\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Sessions"
msgstr "Sessioner"
msgid "session key"
msgstr "sessionsnøgle"
msgid "session data"
msgstr "sessionsdata"
msgid "expire date"
msgstr "udløbsdato"
msgid "session"
msgstr "session"
msgid "sessions"
msgstr "sessioner"
@@ -0,0 +1,37 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Michael Wolf <milupo@sorbzilla.de>, 2016
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-23 00:02+0000\n"
"Last-Translator: Michael Wolf <milupo@sorbzilla.de>\n"
"Language-Team: Lower Sorbian (http://www.transifex.com/django/django/"
"language/dsb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: dsb\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
"%100==4 ? 2 : 3);\n"
msgid "Sessions"
msgstr "Póseźenja"
msgid "session key"
msgstr "pósejźeński kluc"
msgid "session data"
msgstr "pósejźeńske daty"
msgid "expire date"
msgstr "datum spadnjenja"
msgid "session"
msgstr "pósejźenje"
msgid "sessions"
msgstr "pósejźenja"
@@ -0,0 +1,38 @@
# This file is distributed under the same license as the Django package.
#
msgid ""
msgstr ""
"Project-Id-Version: Django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2010-05-13 15:35+0200\n"
"Last-Translator: Django team\n"
"Language-Team: English <en@li.org>\n"
"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: contrib/sessions/apps.py:8
msgid "Sessions"
msgstr ""
#: contrib/sessions/models.py:44
msgid "session key"
msgstr ""
#: contrib/sessions/models.py:46
msgid "session data"
msgstr ""
#: contrib/sessions/models.py:47
msgid "expire date"
msgstr ""
#: contrib/sessions/models.py:52
msgid "session"
msgstr ""
#: contrib/sessions/models.py:53
msgid "sessions"
msgstr ""
@@ -0,0 +1,36 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Ross Poulton <ross@rossp.org>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 16:40+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/django/"
"django/language/en_GB/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: en_GB\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Sessions"
msgstr ""
msgid "session key"
msgstr "session key"
msgid "session data"
msgstr "session data"
msgid "expire date"
msgstr "expire date"
msgid "session"
msgstr "session"
msgid "sessions"
msgstr "sessions"
@@ -0,0 +1,37 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Ernesto Avilés Vázquez <whippiii@gmail.com>, 2014
# Jannis Leidel <jannis@leidel.info>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 16:40+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Spanish (http://www.transifex.com/django/django/language/"
"es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Sessions"
msgstr "Sesiones"
msgid "session key"
msgstr "clave de sesión"
msgid "session data"
msgstr "datos de sesión"
msgid "expire date"
msgstr "fecha de caducidad"
msgid "session"
msgstr "sesión"
msgid "sessions"
msgstr "sesiones"
@@ -0,0 +1,36 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Carlos Muñoz <cmuozdiaz@outlook.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 22:00+0000\n"
"Last-Translator: Carlos Muñoz <cmuozdiaz@outlook.com>\n"
"Language-Team: Spanish (Colombia) (http://www.transifex.com/django/django/"
"language/es_CO/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es_CO\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Sessions"
msgstr "Sesiones"
msgid "session key"
msgstr "clave de sesión"
msgid "session data"
msgstr "datos de sesión"
msgid "expire date"
msgstr "fecha de caducidad"
msgid "session"
msgstr "sesión"
msgid "sessions"
msgstr "sesiones"
@@ -0,0 +1,36 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Eneko Illarramendi <eneko@illarra.com>, 2017
# Jannis Leidel <jannis@leidel.info>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-23 18:54+0000\n"
"Last-Translator: Eneko Illarramendi <eneko@illarra.com>\n"
"Language-Team: Basque (http://www.transifex.com/django/django/language/eu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: eu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Sessions"
msgstr "Sesioak"
msgid "session key"
msgstr "sesioaren giltza"
msgid "session data"
msgstr "sesioaren datuak"
msgid "expire date"
msgstr "amaiera data"
msgid "session"
msgstr "sesioa"
msgid "sessions"
msgstr "sesioak"
@@ -0,0 +1,37 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
# Klaus Dahlén <klaus.dahlen@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 16:40+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Finnish (http://www.transifex.com/django/django/language/"
"fi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Sessions"
msgstr "Istunnot"
msgid "session key"
msgstr "istunnon avain"
msgid "session data"
msgstr "istunnon tiedot"
msgid "expire date"
msgstr "vanhenee"
msgid "session"
msgstr "istunto"
msgid "sessions"
msgstr "istunnot"
@@ -0,0 +1,37 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# GunChleoc, 2015
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-22 17:29+0000\n"
"Last-Translator: GunChleoc\n"
"Language-Team: Gaelic, Scottish (http://www.transifex.com/django/django/"
"language/gd/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: gd\n"
"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : "
"(n > 2 && n < 20) ? 2 : 3;\n"
msgid "Sessions"
msgstr "Seiseanan"
msgid "session key"
msgstr "iuchair an t-seisein"
msgid "session data"
msgstr "dàta an t-seisein"
msgid "expire date"
msgstr "falbhaidh an ùine air"
msgid "session"
msgstr "seisean"
msgid "sessions"
msgstr "seiseanan"
@@ -0,0 +1,36 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
# Sandeep Satavlekar <sandysat@gmail.com>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 16:40+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Hindi (http://www.transifex.com/django/django/language/hi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: hi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Sessions"
msgstr ""
msgid "session key"
msgstr "सत्र कुंजी"
msgid "session data"
msgstr "सत्र सामग्री"
msgid "expire date"
msgstr "समाप्ति तिथी"
msgid "session"
msgstr "सत्र"
msgid "sessions"
msgstr "सत्रें"
@@ -0,0 +1,38 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
# Mislav Cimperšak <mislav.cimpersak@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 16:40+0000\n"
"Last-Translator: Mislav Cimperšak <mislav.cimpersak@gmail.com>\n"
"Language-Team: Croatian (http://www.transifex.com/django/django/language/"
"hr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: hr\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
msgid "Sessions"
msgstr "Sessions"
msgid "session key"
msgstr "session ključ (key)"
msgid "session data"
msgstr "session podaci"
msgid "expire date"
msgstr "ističe na datum"
msgid "session"
msgstr "session"
msgid "sessions"
msgstr "sessions"
@@ -0,0 +1,37 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# András Veres-Szentkirályi, 2016
# Jannis Leidel <jannis@leidel.info>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-23 18:54+0000\n"
"Last-Translator: János R (Hangya)\n"
"Language-Team: Hungarian (http://www.transifex.com/django/django/language/"
"hu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: hu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Sessions"
msgstr "Munkamenetek"
msgid "session key"
msgstr "munkamenet kulcs"
msgid "session data"
msgstr "munkamenet adat"
msgid "expire date"
msgstr "lejárat dátuma"
msgid "session"
msgstr "munkamenet"
msgid "sessions"
msgstr "munkamenetek"
@@ -0,0 +1,36 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Martijn Dekker <mcdutchie@hotmail.com>, 2016
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 22:00+0000\n"
"Last-Translator: Martijn Dekker <mcdutchie@hotmail.com>\n"
"Language-Team: Interlingua (http://www.transifex.com/django/django/language/"
"ia/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ia\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Sessions"
msgstr "Sessiones"
msgid "session key"
msgstr "clave de session"
msgid "session data"
msgstr "datos de session"
msgid "expire date"
msgstr "data de expiration"
msgid "session"
msgstr "session"
msgid "sessions"
msgstr "sessiones"
@@ -0,0 +1,38 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
# M Asep Indrayana <me@drayanaindra.com>, 2015
# rodin <romihardiyanto@gmail.com>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-23 18:54+0000\n"
"Last-Translator: rodin <romihardiyanto@gmail.com>\n"
"Language-Team: Indonesian (http://www.transifex.com/django/django/language/"
"id/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: id\n"
"Plural-Forms: nplurals=1; plural=0;\n"
msgid "Sessions"
msgstr "Sesi"
msgid "session key"
msgstr "kunci sesi"
msgid "session data"
msgstr "data sesi"
msgid "expire date"
msgstr "tanggal kedaluwarsa"
msgid "session"
msgstr "sesi"
msgid "sessions"
msgstr "sesi"
@@ -0,0 +1,36 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 16:40+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Icelandic (http://www.transifex.com/django/django/language/"
"is/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: is\n"
"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"
msgid "Sessions"
msgstr ""
msgid "session key"
msgstr "setulykill"
msgid "session data"
msgstr "setugögn"
msgid "expire date"
msgstr "fyrningardagsetning"
msgid "session"
msgstr "seta"
msgid "sessions"
msgstr "setur"
@@ -0,0 +1,36 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 16:40+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Georgian (http://www.transifex.com/django/django/language/"
"ka/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ka\n"
"Plural-Forms: nplurals=1; plural=0;\n"
msgid "Sessions"
msgstr ""
msgid "session key"
msgstr "სესიის გასაღები"
msgid "session data"
msgstr "სესიის მონაცემები"
msgid "expire date"
msgstr "ამოწურვის თარიღი"
msgid "session"
msgstr "სესია"
msgid "sessions"
msgstr "სესიები"
@@ -0,0 +1,35 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-10-06 11:49+0000\n"
"Last-Translator: Muḥend Belqasem <belkacem77@gmail.com>\n"
"Language-Team: Kabyle (http://www.transifex.com/django/django/language/"
"kab/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: kab\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Sessions"
msgstr "Tiɣimiyin"
msgid "session key"
msgstr "tasarutt n tɣimit"
msgid "session data"
msgstr "isefka n tɣimit"
msgid "expire date"
msgstr "azemz n tgara"
msgid "session"
msgstr "tiɣimit"
msgid "sessions"
msgstr "tiɣimiyin"
@@ -0,0 +1,35 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 16:40+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Khmer (http://www.transifex.com/django/django/language/km/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: km\n"
"Plural-Forms: nplurals=1; plural=0;\n"
msgid "Sessions"
msgstr ""
msgid "session key"
msgstr "លេខសំគាល់​រយះពេល​ពិនិត្យ​ចូល"
msgid "session data"
msgstr "ទិន្នន័យរយះពេល​ពិនិត្យ​ចូល"
msgid "expire date"
msgstr "ហួសពេលកំណត់"
msgid "session"
msgstr "រយះពេល​ពិនិត្យ​ចូល"
msgid "sessions"
msgstr "រយះពេល​ពិនិត្យ​ចូល"
@@ -0,0 +1,36 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
# Chr0m3 <chr0m3.kr@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 16:40+0000\n"
"Last-Translator: Chr0m3 <chr0m3.kr@gmail.com>\n"
"Language-Team: Korean (http://www.transifex.com/django/django/language/ko/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ko\n"
"Plural-Forms: nplurals=1; plural=0;\n"
msgid "Sessions"
msgstr "세션"
msgid "session key"
msgstr "세션 키"
msgid "session data"
msgstr "세션 날짜"
msgid "expire date"
msgstr "유효날짜"
msgid "session"
msgstr "세션"
msgid "sessions"
msgstr "세션"
@@ -0,0 +1,35 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2014-10-05 20:12+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Luxembourgish (http://www.transifex.com/projects/p/django/"
"language/lb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: lb\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Sessions"
msgstr ""
msgid "session key"
msgstr ""
msgid "session data"
msgstr ""
msgid "expire date"
msgstr ""
msgid "session"
msgstr ""
msgid "sessions"
msgstr ""
@@ -0,0 +1,37 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Hrishikesh <hrishi.kb@gmail.com>, 2019
# Jannis Leidel <jannis@leidel.info>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2019-03-03 10:00+0000\n"
"Last-Translator: Hrishikesh <hrishi.kb@gmail.com>\n"
"Language-Team: Malayalam (http://www.transifex.com/django/django/language/"
"ml/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ml\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Sessions"
msgstr "സെഷനുകൾ"
msgid "session key"
msgstr "സെഷന്‍ കീ"
msgid "session data"
msgstr "സെഷനിലെ ഡാറ്റ"
msgid "expire date"
msgstr "കാലാവധി തീരുന്ന തിയ്യതി"
msgid "session"
msgstr "സെഷന്‍"
msgid "sessions"
msgstr "സെഷനുകള്‍"
@@ -0,0 +1,38 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
# jensadne <jensadne@pvv.ntnu.no>, 2014
# Jon <jon@kolonial.no>, 2012
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 16:40+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Norwegian Bokmål (http://www.transifex.com/django/django/"
"language/nb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: nb\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Sessions"
msgstr "Økter"
msgid "session key"
msgstr "øktnøkkel"
msgid "session data"
msgstr "øktdata"
msgid "expire date"
msgstr "utløpsdato"
msgid "session"
msgstr "økt"
msgid "sessions"
msgstr "økter"
@@ -0,0 +1,36 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Paras Nath Chaudhary <opnchaudhary@gmail.com>, 2012
# Sagar Chalise <chalisesagar@gmail.com>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 16:40+0000\n"
"Last-Translator: Sagar Chalise <chalisesagar@gmail.com>\n"
"Language-Team: Nepali (http://www.transifex.com/django/django/language/ne/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ne\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Sessions"
msgstr "अवधिहरु"
msgid "session key"
msgstr "अवधि साँचो"
msgid "session data"
msgstr "अवधि विवरण"
msgid "expire date"
msgstr "खारेज मिति"
msgid "session"
msgstr "अवधि"
msgid "sessions"
msgstr "अवधिहरु"
@@ -0,0 +1,36 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 16:40+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Panjabi (Punjabi) (http://www.transifex.com/django/django/"
"language/pa/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pa\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Sessions"
msgstr ""
msgid "session key"
msgstr "ਸ਼ੈਸ਼ਨ ਕੁੰਜੀ"
msgid "session data"
msgstr "ਸ਼ੈਸ਼ਨ ਡਾਟਾ"
msgid "expire date"
msgstr "ਮਿਆਦ ਮਿਤੀ"
msgid "session"
msgstr "ਸ਼ੈਸ਼ਨ"
msgid "sessions"
msgstr "ਸ਼ੈਸ਼ਨ"
@@ -0,0 +1,37 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Allisson Azevedo <allisson@gmail.com>, 2014
# Jannis Leidel <jannis@leidel.info>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-23 18:54+0000\n"
"Last-Translator: andrewsmedina <andrewsmedina@gmail.com>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/django/django/"
"language/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
msgid "Sessions"
msgstr "Sessões"
msgid "session key"
msgstr "chave da sessão"
msgid "session data"
msgstr "dados da sessão"
msgid "expire date"
msgstr "data de expiração"
msgid "session"
msgstr "sessão"
msgid "sessions"
msgstr "sessões"
@@ -0,0 +1,39 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Daniel Ursache-Dogariu, 2011
# Jannis Leidel <jannis@leidel.info>, 2011
# Razvan Stefanescu <razvan.stefanescu@gmail.com>, 2016
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 16:40+0000\n"
"Last-Translator: Razvan Stefanescu <razvan.stefanescu@gmail.com>\n"
"Language-Team: Romanian (http://www.transifex.com/django/django/language/"
"ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ro\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
"2:1));\n"
msgid "Sessions"
msgstr "Sesiuni"
msgid "session key"
msgstr "cheie sesiune"
msgid "session data"
msgstr "date sesiune"
msgid "expire date"
msgstr "dată expirare"
msgid "session"
msgstr "sesiune"
msgid "sessions"
msgstr "sesiuni"
@@ -0,0 +1,36 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
# Martin Tóth <ezimir@gmail.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-23 18:54+0000\n"
"Last-Translator: Martin Tóth <ezimir@gmail.com>\n"
"Language-Team: Slovak (http://www.transifex.com/django/django/language/sk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: sk\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
msgid "Sessions"
msgstr "Relácie"
msgid "session key"
msgstr "kľúč relácie"
msgid "session data"
msgstr "údaje relácie"
msgid "expire date"
msgstr "dátum vypršania platnosti"
msgid "session"
msgstr "relácia"
msgid "sessions"
msgstr "relácie"
@@ -0,0 +1,38 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Branko Kokanovic <branko@kokanovic.org>, 2018
# Jannis Leidel <jannis@leidel.info>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2018-01-30 10:08+0000\n"
"Last-Translator: Branko Kokanovic <branko@kokanovic.org>\n"
"Language-Team: Serbian (http://www.transifex.com/django/django/language/"
"sr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: sr\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
msgid "Sessions"
msgstr "Сесије"
msgid "session key"
msgstr "кључ сесије"
msgid "session data"
msgstr "подаци сесије"
msgid "expire date"
msgstr "датум застаревања"
msgid "session"
msgstr "сесија"
msgid "sessions"
msgstr "сесије"
@@ -0,0 +1,36 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Machaku <bmachaku@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-23 18:54+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Swahili (http://www.transifex.com/django/django/language/"
"sw/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: sw\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Sessions"
msgstr "Vipindi"
msgid "session key"
msgstr "ufunguo wa kipindi"
msgid "session data"
msgstr "data za kipindi"
msgid "expire date"
msgstr "tarehe ya mwisho ya matumizi"
msgid "session"
msgstr "kipindi"
msgid "sessions"
msgstr "vipindi"
@@ -0,0 +1,35 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 16:40+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Tamil (http://www.transifex.com/django/django/language/ta/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ta\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Sessions"
msgstr ""
msgid "session key"
msgstr "அமர்வு குறியீ"
msgid "session data"
msgstr "அமர்வு தகவல்"
msgid "expire date"
msgstr "காலாவதியாகும் தேதி"
msgid "session"
msgstr "அமர்வு"
msgid "sessions"
msgstr "அமர்வுகள்"
@@ -0,0 +1,35 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Nuruddin Iminokhunov <nuruddin.iminohunov@gmail.com>, 2016
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-23 01:18+0000\n"
"Last-Translator: Nuruddin Iminokhunov <nuruddin.iminohunov@gmail.com>\n"
"Language-Team: Uzbek (http://www.transifex.com/django/django/language/uz/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: uz\n"
"Plural-Forms: nplurals=1; plural=0;\n"
msgid "Sessions"
msgstr "Sessiyalar"
msgid "session key"
msgstr "sessiya kaliti"
msgid "session data"
msgstr "sessiya ma'lumotlari "
msgid "expire date"
msgstr "tugash vaqti"
msgid "session"
msgstr "sessiya"
msgid "sessions"
msgstr "sessiyalar"
@@ -0,0 +1,37 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
# Ronald White <ouyanghongyu@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-17 11:07+0100\n"
"PO-Revision-Date: 2017-09-19 16:40+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/django/django/"
"language/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
msgid "Sessions"
msgstr "会话"
msgid "session key"
msgstr "会话密钥"
msgid "session data"
msgstr "会话数据"
msgid "expire date"
msgstr "过期时间"
msgid "session"
msgstr "会话"
msgid "sessions"
msgstr "会话"
@@ -0,0 +1,19 @@
from importlib import import_module
from django.conf import settings
from django.core.management.base import BaseCommand
class Command(BaseCommand):
help = (
"Can be run as a cronjob or directly to clean out expired sessions "
"(only with the database backend at the moment)."
)
def handle(self, **options):
engine = import_module(settings.SESSION_ENGINE)
try:
engine.SessionStore.clear_expired()
except NotImplementedError:
self.stderr.write("Session engine '%s' doesn't support clearing "
"expired sessions.\n" % settings.SESSION_ENGINE)
@@ -0,0 +1,74 @@
import time
from importlib import import_module
from django.conf import settings
from django.contrib.sessions.backends.base import UpdateError
from django.core.exceptions import SuspiciousOperation
from django.utils.cache import patch_vary_headers
from django.utils.deprecation import MiddlewareMixin
from django.utils.http import http_date
class SessionMiddleware(MiddlewareMixin):
def __init__(self, get_response=None):
self.get_response = get_response
engine = import_module(settings.SESSION_ENGINE)
self.SessionStore = engine.SessionStore
def process_request(self, request):
session_key = request.COOKIES.get(settings.SESSION_COOKIE_NAME)
request.session = self.SessionStore(session_key)
def process_response(self, request, response):
"""
If request.session was modified, or if the configuration is to save the
session every time, save the changes and set a session cookie or delete
the session cookie if the session has been emptied.
"""
try:
accessed = request.session.accessed
modified = request.session.modified
empty = request.session.is_empty()
except AttributeError:
pass
else:
# First check if we need to delete this cookie.
# The session should be deleted only if the session is entirely empty
if settings.SESSION_COOKIE_NAME in request.COOKIES and empty:
response.delete_cookie(
settings.SESSION_COOKIE_NAME,
path=settings.SESSION_COOKIE_PATH,
domain=settings.SESSION_COOKIE_DOMAIN,
)
else:
if accessed:
patch_vary_headers(response, ('Cookie',))
if (modified or settings.SESSION_SAVE_EVERY_REQUEST) and not empty:
if request.session.get_expire_at_browser_close():
max_age = None
expires = None
else:
max_age = request.session.get_expiry_age()
expires_time = time.time() + max_age
expires = http_date(expires_time)
# Save the session data and refresh the client cookie.
# Skip session save for 500 responses, refs #3881.
if response.status_code != 500:
try:
request.session.save()
except UpdateError:
raise SuspiciousOperation(
"The request's session was deleted before the "
"request completed. The user may have logged "
"out in a concurrent request, for example."
)
response.set_cookie(
settings.SESSION_COOKIE_NAME,
request.session.session_key, max_age=max_age,
expires=expires, domain=settings.SESSION_COOKIE_DOMAIN,
path=settings.SESSION_COOKIE_PATH,
secure=settings.SESSION_COOKIE_SECURE or None,
httponly=settings.SESSION_COOKIE_HTTPONLY or None,
samesite=settings.SESSION_COOKIE_SAMESITE,
)
return response
@@ -0,0 +1,30 @@
import django.contrib.sessions.models
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
]
operations = [
migrations.CreateModel(
name='Session',
fields=[
('session_key', models.CharField(
max_length=40, serialize=False, verbose_name='session key', primary_key=True
)),
('session_data', models.TextField(verbose_name='session data')),
('expire_date', models.DateTimeField(verbose_name='expire date', db_index=True)),
],
options={
'abstract': False,
'db_table': 'django_session',
'verbose_name': 'session',
'verbose_name_plural': 'sessions',
},
managers=[
('objects', django.contrib.sessions.models.SessionManager()),
],
),
]
@@ -0,0 +1,35 @@
from django.contrib.sessions.base_session import (
AbstractBaseSession, BaseSessionManager,
)
class SessionManager(BaseSessionManager):
use_in_migrations = True
class Session(AbstractBaseSession):
"""
Django provides full support for anonymous sessions. The session
framework lets you store and retrieve arbitrary data on a
per-site-visitor basis. It stores data on the server side and
abstracts the sending and receiving of cookies. Cookies contain a
session ID -- not the data itself.
The Django sessions framework is entirely cookie-based. It does
not fall back to putting session IDs in URLs. This is an intentional
design decision. Not only does that behavior make URLs ugly, it makes
your site vulnerable to session-ID theft via the "Referer" header.
For complete documentation on using Sessions in your code, consult
the sessions documentation that is shipped with Django (also available
on the Django Web site).
"""
objects = SessionManager()
@classmethod
def get_session_store_class(cls):
from django.contrib.sessions.backends.db import SessionStore
return SessionStore
class Meta(AbstractBaseSession.Meta):
db_table = 'django_session'
@@ -0,0 +1,20 @@
import pickle
from django.core.signing import JSONSerializer as BaseJSONSerializer
class PickleSerializer:
"""
Simple wrapper around pickle to be used in signing.dumps and
signing.loads.
"""
protocol = pickle.HIGHEST_PROTOCOL
def dumps(self, obj):
return pickle.dumps(obj, self.protocol)
def loads(self, data):
return pickle.loads(data)
JSONSerializer = BaseJSONSerializer