Move LocalizedValue and add get_language_codes

This commit is contained in:
Swen Kooij 2017-02-01 15:06:36 +02:00
parent 680383b636
commit 105c1e7b6b
8 changed files with 43 additions and 15 deletions

View File

@ -1,9 +1,12 @@
from .fields import (LocalizedAutoSlugField, LocalizedBleachField,
LocalizedField, LocalizedValue)
from .util import get_language_codes
from .forms import LocalizedFieldForm, LocalizedFieldWidget
from .fields import (LocalizedField, LocalizedBleachField,
LocalizedAutoSlugField)
from .localized_value import LocalizedValue
from .models import LocalizedModel
__all__ = [
'get_language_codes',
'LocalizedField',
'LocalizedValue',
'LocalizedAutoSlugField',

View File

@ -1,12 +1,10 @@
from .localized_field import LocalizedField
from .localized_value import LocalizedValue
from .localized_autoslug_field import LocalizedAutoSlugField
from .localized_bleach_field import LocalizedBleachField
__all__ = [
'LocalizedField',
'LocalizedValue',
'LocalizedAutoSlugField',
'LocalizedBleachField'
]

View File

@ -5,7 +5,7 @@ from django.conf import settings
from django.utils.text import slugify
from .localized_field import LocalizedField
from .localized_value import LocalizedValue
from ..localized_value import LocalizedValue
class LocalizedAutoSlugField(LocalizedField):
@ -17,7 +17,11 @@ class LocalizedAutoSlugField(LocalizedField):
"""Initializes a new instance of :see:LocalizedAutoSlugField."""
self.populate_from = kwargs.pop('populate_from', None)
super(LocalizedAutoSlugField, self).__init__(*args, **kwargs)
super(LocalizedAutoSlugField, self).__init__(
*args,
**kwargs
)
def deconstruct(self):
"""Deconstructs the field into something the database

View File

@ -2,8 +2,8 @@ from django.conf import settings
from django.contrib.postgres.fields import HStoreField
from django.db.utils import IntegrityError
from ..forms import LocalizedFieldForm
from .localized_value import LocalizedValue
from localized_fields import LocalizedFieldForm
from ..localized_value import LocalizedValue
class LocalizedField(HStoreField):
@ -164,9 +164,10 @@ class LocalizedField(HStoreField):
"""Gets the values to pass to :see:__init__ when
re-creating this object."""
values = super(LocalizedField, self).deconstruct()
values[3].update({
'uniqueness': self.uniqueness
})
name, path, args, kwargs = super(
LocalizedField, self).deconstruct()
return values
if self.uniqueness:
kwargs['uniqueness'] = self.uniqueness
return name, path, args, kwargs

View File

@ -4,7 +4,7 @@ from django import forms
from django.conf import settings
from django.forms import MultiWidget
from .fields.localized_value import LocalizedValue
from .localized_value import LocalizedValue
class LocalizedFieldWidget(MultiWidget):

View File

@ -1,6 +1,7 @@
from django.db import models
from .fields import LocalizedField, LocalizedValue
from .fields import LocalizedField
from .localized_value import LocalizedValue
class LocalizedModel(models.Model):

21
localized_fields/util.py Normal file
View File

@ -0,0 +1,21 @@
from typing import List
from django.conf import settings
def get_language_codes() -> List[str]:
"""Gets a list of all available language codes.
This looks at your project's settings.LANGUAGES
and returns a flat list of the configured
language codes.
Arguments:
A flat list of all availble language codes
in your project.
"""
return [
lang_code
for lang_code, _ in settings.LANGUAGES
]