Skip to content

Commit 6820405

Browse files
committed
Fix style issues and dangling imports
1 parent 23832ee commit 6820405

File tree

18 files changed

+84
-44
lines changed

18 files changed

+84
-44
lines changed

hvad/admin.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,14 @@
2121
from hvad.utils import load_translation
2222
from hvad.manager import TranslationQueryset
2323

24+
__all__ = (
25+
'TranslatableAdmin',
26+
'TranslatableInlineModelAdmin',
27+
'TranslatableStackedInline',
28+
'TranslatableTabularInline',
29+
'InlineModelForm',
30+
)
31+
2432

2533
class InlineModelForm(TranslatableModelForm):
2634
def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None,

hvad/contrib/restframework/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
TranslationsMixin, TranslatableModelSerializer, HyperlinkedTranslatableModelSerializer,
33
NestedTranslationSerializer,
44
)
5+
56
__all__ = (
67
'TranslationsMixin',
78
'TranslatableModelSerializer',

hvad/contrib/restframework/serializers.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from django.db.models.fields import FieldDoesNotExist
2-
from django.utils.translation import get_language, ugettext_lazy as _l
2+
from django.utils.translation import get_language, ugettext_lazy as _
33
from rest_framework import serializers
44
from rest_framework.exceptions import ValidationError
55
from rest_framework.fields import SkipField
@@ -8,8 +8,14 @@
88
from hvad.contrib.restframework.utils import TranslationListSerializer
99
from collections import OrderedDict
1010

11-
veto_fields = ('id', 'master')
11+
__all__ = (
12+
'TranslationsMixin',
13+
'TranslatableModelSerializer',
14+
'HyperlinkedTranslatableModelSerializer',
15+
'NestedTranslationSerializer',
16+
)
1217

18+
veto_fields = ('id', 'master')
1319

1420
#=============================================================================
1521

@@ -152,8 +158,8 @@ def update_translation(self, instance, data):
152158
class TranslatableModelMixin(object):
153159
''' Adds support for translated fields on a serializer '''
154160
default_error_messages = {
155-
'enforce_violation': _l('Sending a language_code is invalid on serializers '
156-
'that enforce a language'),
161+
'enforce_violation': _('Sending a language_code is invalid on serializers '
162+
'that enforce a language'),
157163
}
158164

159165
def __init__(self, *args, **kwargs):

hvad/contrib/restframework/utils.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from django.utils.translation import ugettext_lazy as _l
1+
from django.utils.translation import ugettext_lazy as _
22
from rest_framework import serializers
33
from rest_framework.exceptions import ValidationError
44
from rest_framework.settings import api_settings
@@ -10,8 +10,8 @@ class TranslationListSerializer(serializers.ListSerializer):
1010
'A custom serializer to output translations in a nice dict'
1111
many = True
1212
default_error_messages = {
13-
'not_a_dict': _l('Expected a dictionary of items, but got a {input_type}.'),
14-
'no_translation': _l('At least one translation must be provided.'),
13+
'not_a_dict': _('Expected a dictionary of items, but got a {input_type}.'),
14+
'no_translation': _('At least one translation must be provided.'),
1515
}
1616

1717
def to_internal_value(self, data):

hvad/descriptors.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
from hvad.settings import hvad_settings
44
from hvad.utils import get_translation, set_cached_translation
55

6+
__all__ = ()
7+
8+
69
class TranslatedAttribute(object):
710
""" Proxy descriptor, forwarding attribute access to loaded translation.
811
If no translation is loaded, it will attempt to load one depending on settings

hvad/exceptions.py

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,24 @@
1+
__all__ = ('WrongManager', )
12

23
class WrongManager(Exception):
3-
pass
4+
""" Raised when attempting to introspect translated fields from
5+
shared models without going through hvad. The most likely cause
6+
for this being accessing translated fields from
7+
translation-unaware QuerySets.
8+
"""
9+
def __init__(self, meta, name):
10+
self.meta = meta
11+
self.name = name
12+
13+
def __str__(self):
14+
return (
15+
"Accessing translated fields like {model_name}.{field_name} from "
16+
"an regular model requires a translation-aware queryset, "
17+
"obtained with the .language() method. "
18+
"For regular, non-translatable models, you can get one using "
19+
"hvad.utils.get_translation_aware_manager"
20+
).format(
21+
app_label=self.meta.app_label,
22+
model_name=self.meta.model_name,
23+
field_name=self.name,
24+
)

hvad/forms.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,15 @@
1313
from hvad.utils import (set_cached_translation, get_cached_translation, load_translation)
1414
from collections import OrderedDict
1515

16+
__all__ = (
17+
'TranslatableModelForm',
18+
'BaseTranslationFormSet',
19+
'translatable_modelform_factory',
20+
'translatable_modelformset_factory',
21+
'translatable_inlineformset_factory',
22+
'translationformset_factory',
23+
)
24+
1625
veto_fields = {'id', 'master', 'master_id', 'language_code'}
1726

1827
#=============================================================================
@@ -56,7 +65,7 @@ def __new__(cls, name, bases, attrs):
5665
tfields = fields_for_model(
5766
model._meta.translations_model,
5867
fields=fields,
59-
exclude=exclude | set(veto_fields),
68+
exclude=exclude | veto_fields,
6069
widgets=getattr(meta, 'widgets', None),
6170
formfield_callback=attrs.get('formfield_callback')
6271
)

hvad/manager.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,9 @@
1515
from hvad.settings import hvad_settings
1616
from hvad.utils import combine
1717
from copy import deepcopy
18-
import logging
1918
import sys
2019

21-
#===============================================================================
22-
23-
# Logging-related globals
24-
_logger = logging.getLogger(__name__)
20+
__all__ = ('TranslationQueryset', 'TranslationManager')
2521

2622
#===============================================================================
2723

hvad/models.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
from itertools import chain
1717
import sys
1818

19+
__all__ = ('TranslatableModel', 'TranslatedFields', 'NoTranslation')
20+
1921
#===============================================================================
2022

2123
class TranslatedFields(object):

hvad/query.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
from django.db.models.sql.where import WhereNode, AND
44
from collections import namedtuple
55

6+
__all__ = ()
7+
68
#===============================================================================
79
# Generators abstracting walking through internal django structures
810

hvad/settings.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
from django.utils.functional import SimpleLazyObject, empty
55
from collections import namedtuple
66

7+
__all__ = ('hvad_settings', )
8+
79
#===============================================================================
810

911
_default_settings = {
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
11
from hvad.test_utils.project.alternate_models_app.models.normal import NormalAlternate
2+
3+
__all__ = (
4+
'NormalAlternate',
5+
)

hvad/tests/admin.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -466,7 +466,6 @@ def test_admin_change_popup(self):
466466
IS_POPUP_VAR: '1',
467467
}
468468
response = self.client.post(url, data)
469-
expected_url = reverse('admin:app_normal_changelist')
470469
self.assertIn(response.status_code, [200, 302], response.content)
471470
obj = Normal.objects.language('en').get(pk=self.normal_id[1])
472471
self.assertEqual(obj.translated_field, "English NEW")

hvad/tests/contrib/restframework.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ def test_create(self):
388388
obj = serializer.save()
389389
self.assertIsNot(obj.pk, None)
390390
qs = Normal.objects.language('all').filter(pk=obj.pk)
391-
self.assertCountEqual([(obj.language_code, obj.translated_field) for obj in qs],
391+
self.assertCountEqual([(item.language_code, item.translated_field) for item in qs],
392392
[('en', 'English'), ('sr', u'српски')])
393393

394394
def test_update(self):
@@ -408,7 +408,7 @@ def test_update(self):
408408
obj = serializer.save()
409409
self.assertEqual(obj.pk, self.normal_id[1])
410410
qs = Normal.objects.language('all').filter(pk=self.normal_id[1])
411-
self.assertCountEqual([(obj.language_code, obj.translated_field) for obj in qs],
411+
self.assertCountEqual([(item.language_code, item.translated_field) for item in qs],
412412
[('en', 'English'), ('sr', u'српски')])
413413

414414
def test_update_partial(self):
@@ -424,7 +424,7 @@ def test_update_partial(self):
424424
obj = serializer.save()
425425
self.assertEqual(obj.pk, self.normal_id[1])
426426
qs = Normal.objects.language('all').filter(pk=self.normal_id[1], shared_field='shared')
427-
self.assertCountEqual([obj.language_code for obj in qs], self.translations)
427+
self.assertCountEqual([item.language_code for item in qs], self.translations)
428428

429429
def test_update_translated_many(self):
430430
'Update an existing instance, with an excluded translated M2M field'
@@ -509,7 +509,7 @@ def test_create_translations(self):
509509
obj = serializer.save()
510510
self.assertIsNot(obj.pk, None)
511511
qs = Normal.objects.language('all').filter(pk=obj.pk)
512-
self.assertCountEqual([(obj.language_code, obj.translated_field) for obj in qs],
512+
self.assertCountEqual([(item.language_code, item.translated_field) for item in qs],
513513
[('en', 'English'), ('sr', u'српски')])
514514

515515
def test_create_translatable(self):
@@ -525,7 +525,7 @@ def test_create_translatable(self):
525525
obj = serializer.save()
526526
self.assertIsNot(obj.pk, None)
527527
qs = Normal.objects.language('all').filter(pk=obj.pk)
528-
self.assertCountEqual([(obj.language_code, obj.translated_field) for obj in qs],
528+
self.assertCountEqual([(item.language_code, item.translated_field) for item in qs],
529529
[('sr', u'српски')])
530530

531531
def test_update_translations(self):
@@ -545,7 +545,7 @@ def test_update_translations(self):
545545
obj = serializer.save()
546546
self.assertEqual(obj.pk, self.normal_id[1])
547547
qs = Normal.objects.language('all').filter(pk=self.normal_id[1])
548-
self.assertCountEqual([(obj.language_code, obj.translated_field) for obj in qs],
548+
self.assertCountEqual([(item.language_code, item.translated_field) for item in qs],
549549
[('en', 'English'), ('sr', u'српски')])
550550

551551
def test_update_translatable(self):
@@ -562,7 +562,7 @@ def test_update_translatable(self):
562562
obj = serializer.save()
563563
self.assertEqual(obj.pk, self.normal_id[1])
564564
qs = Normal.objects.language('all').filter(pk=self.normal_id[1])
565-
self.assertCountEqual([(obj.language_code, obj.translated_field) for obj in qs],
565+
self.assertCountEqual([(item.language_code, item.translated_field) for item in qs],
566566
[('en', NORMAL[1].translated_field['en']),
567567
('ja', NORMAL[1].translated_field['ja']),
568568
('sr', u'српски')])

hvad/tests/query.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -551,12 +551,7 @@ def test_cached_autoload(self):
551551

552552
def test_cached_no_autoload(self):
553553
with self.settings(HVAD={'AUTOLOAD_TRANSLATIONS': False}):
554-
# get the english instance
555554
en = Normal.objects.untranslated().prefetch_related('translations').get()
556-
with self.assertNumQueries(0):
557-
ja_trans = en.translations.get_language('ja')
558-
559-
# get the japanese *combined*
560555
ja = Normal.objects.language('ja').get(pk=en.pk)
561556

562557
self.assertEqual(en.shared_field, NORMAL[1].shared_field)

hvad/tests/related.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,7 @@ def test_lookup_by_translated_field_requires_translation_aware_manager(self):
129129

130130
def test_lookup_by_non_existing_field(self):
131131
with translation.override('en'):
132-
self.assertRaises(TypeError, Standard.objects.get,
133-
normal__non_existing_field=1)
132+
self.assertRaises(TypeError, Standard.objects.get, normal__non_existing_field=1)
134133

135134
def test_lookup_by_translated_field_using_q_objects(self):
136135
en = Normal.objects.language('en').get(pk=self.normal_id[1])

hvad/utils.py

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
from django.utils.translation import get_language
44
from hvad.exceptions import WrongManager
55

6+
__all__ = (
7+
'get_translation_aware_manager',
8+
)
9+
610
#=============================================================================
711
# Translation manipulators
812

@@ -103,14 +107,7 @@ def __call__(self, meta, name):
103107
except FieldDoesNotExist:
104108
raise e
105109
else:
106-
raise WrongManager("To access translated fields like %r from "
107-
"an untranslated model, you must use a "
108-
"translation aware manager. For non-translatable "
109-
"models, you can get one using "
110-
"hvad.utils.get_translation_aware_manager.\n"
111-
"For translatable models, use the language() "
112-
"method."%
113-
name)
110+
raise WrongManager(meta, name)
114111

115112

116113
class SmartGetField(object):
@@ -128,13 +125,7 @@ def __call__(self, meta, name, *args, **kwargs):
128125
except FieldDoesNotExist:
129126
raise e
130127
else:
131-
raise WrongManager("To access translated fields like %r from "
132-
"an untranslated model, you must use a "
133-
"translation aware manager. For non-translatable "
134-
"models, you can get one using "
135-
"hvad.utils.get_translation_aware_manager.\n"
136-
"For translatable models, use the language() "
137-
"method." % name)
128+
raise WrongManager(meta, name)
138129

139130
#=============================================================================
140131
# Internal sugar

hvad/views.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
from django.utils.translation import get_language
44
from hvad.forms import translatable_modelform_factory
55

6+
__all__ = ('TranslatableCreateView', 'TranslatableUpdateView', 'TranslatableDeleteView')
7+
68

79
class TranslatableModelFormMixin(ModelFormMixin):
810
''' ModelFormMixin that works with an TranslatableModelForm in **enforce** mode '''

0 commit comments

Comments
 (0)