mirror of
https://github.com/Hopiu/wagtail-modeltranslation.git
synced 2026-03-16 22:10:30 +00:00
Compatibility with Python 3.
This commit is contained in:
parent
87f303c35f
commit
68a8dcd862
6 changed files with 37 additions and 15 deletions
|
|
@ -1,4 +1,6 @@
|
|||
# coding: utf-8
|
||||
from __future__ import absolute_import
|
||||
|
||||
from django.apps import AppConfig
|
||||
|
||||
|
||||
|
|
@ -15,5 +17,5 @@ class ModeltranslationConfig(AppConfig):
|
|||
from modeltranslation.models import handle_translation_registrations
|
||||
handle_translation_registrations()
|
||||
|
||||
from patch_wagtailadmin import patch_wagtail_models
|
||||
from .patch_wagtailadmin import patch_wagtail_models
|
||||
patch_wagtail_models()
|
||||
|
|
|
|||
|
|
@ -390,7 +390,7 @@ def patch_wagtail_models():
|
|||
# We need to sort the models to ensure that subclasses of a model are registered first,
|
||||
# or else if the panels are inherited all the changes on the subclass would be
|
||||
# reflected in the superclass
|
||||
registered_models.sort(compare_class_tree_depth)
|
||||
registered_models.sort(key=compare_class_tree_depth)
|
||||
|
||||
for model_class in registered_models:
|
||||
if issubclass(model_class, Page) or model_class in get_snippet_models() or issubclass(model_class, BaseSetting):
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import re
|
|||
from django import template
|
||||
from django.core.urlresolvers import resolve
|
||||
from django.utils.translation import activate, get_language
|
||||
from six import iteritems
|
||||
|
||||
register = template.Library()
|
||||
|
||||
|
|
@ -37,7 +38,7 @@ def change_lang(context, lang=None, *args, **kwargs):
|
|||
translated_url = '/' + lang + '/' + path_components[0] + '/'
|
||||
if request.GET:
|
||||
translated_url += '?'
|
||||
for key, value in request.GET.iteritems():
|
||||
for key, value in iteritems(request.GET):
|
||||
translated_url += key + '=' + value
|
||||
return translated_url
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ from django.test.utils import override_settings
|
|||
from django.utils.translation import get_language, trans_real
|
||||
from modeltranslation import settings as mt_settings, translator
|
||||
|
||||
|
||||
from wagtail_modeltranslation.tests.test_settings import TEST_SETTINGS
|
||||
|
||||
models = translation = None
|
||||
|
|
@ -194,7 +193,7 @@ class WagtailModeltranslationTest(WagtailModeltranslationTestBase):
|
|||
self.assertListEqual(['body_de', 'body_en'], fields)
|
||||
|
||||
# Fetch one of the streamfield panels to see if the block was correctly created
|
||||
child_block = models.StreamFieldPanelPage.body_en.field.stream_block.child_blocks.items()
|
||||
child_block = list(models.StreamFieldPanelPage.body_en.field.stream_block.child_blocks.items())
|
||||
|
||||
self.assertEquals(len(child_block), 1)
|
||||
|
||||
|
|
@ -267,7 +266,12 @@ class WagtailModeltranslationTest(WagtailModeltranslationTestBase):
|
|||
page_base_fields = ['slug_de', 'slug_en', 'seo_title_de', 'seo_title_en', 'search_description_de',
|
||||
'search_description_en', u'show_in_menus', u'go_live_at', u'expire_at']
|
||||
|
||||
self.assertItemsEqual(page_base_fields, form.base_fields.keys())
|
||||
try:
|
||||
# python 3
|
||||
self.assertCountEqual(page_base_fields, form.base_fields.keys())
|
||||
except AttributeError:
|
||||
# python 2.7
|
||||
self.assertItemsEqual(page_base_fields, form.base_fields.keys())
|
||||
|
||||
inline_model_fields = ['field_name_de', 'field_name_en', 'image_chooser_de', 'image_chooser_en',
|
||||
'fieldrow_name_de', 'fieldrow_name_en', 'name_de', 'name_en', 'image_de', 'image_en',
|
||||
|
|
@ -275,7 +279,12 @@ class WagtailModeltranslationTest(WagtailModeltranslationTestBase):
|
|||
|
||||
related_formset_form = form.formsets['related_page_model'].form
|
||||
|
||||
self.assertItemsEqual(inline_model_fields, related_formset_form.base_fields.keys())
|
||||
try:
|
||||
# python 3
|
||||
self.assertCountEqual(inline_model_fields, related_formset_form.base_fields.keys())
|
||||
except AttributeError:
|
||||
# python 2.7
|
||||
self.assertItemsEqual(inline_model_fields, related_formset_form.base_fields.keys())
|
||||
|
||||
def test_snippet_form(self):
|
||||
"""
|
||||
|
|
@ -293,7 +302,12 @@ class WagtailModeltranslationTest(WagtailModeltranslationTestBase):
|
|||
|
||||
related_formset_form = form.formsets['related_snippet_model'].form
|
||||
|
||||
self.assertItemsEqual(inline_model_fields, related_formset_form.base_fields.keys())
|
||||
try:
|
||||
# python 3
|
||||
self.assertCountEqual(inline_model_fields, related_formset_form.base_fields.keys())
|
||||
except AttributeError:
|
||||
# python 2.7
|
||||
self.assertItemsEqual(inline_model_fields, related_formset_form.base_fields.keys())
|
||||
|
||||
def test_duplicate_slug(self):
|
||||
from wagtail.wagtailcore.models import Site
|
||||
|
|
@ -328,4 +342,9 @@ class WagtailModeltranslationTest(WagtailModeltranslationTestBase):
|
|||
|
||||
model_search_fields = [searchfield.field_name for searchfield in models.PatchTestPage.search_fields]
|
||||
|
||||
self.assertItemsEqual(expected_fields, model_search_fields)
|
||||
try:
|
||||
# python 3
|
||||
self.assertCountEqual(expected_fields, model_search_fields)
|
||||
except AttributeError:
|
||||
# python 2.7
|
||||
self.assertItemsEqual(expected_fields, model_search_fields)
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
import inspect
|
||||
|
||||
|
||||
def compare_class_tree_depth(a, b):
|
||||
def compare_class_tree_depth(model_class):
|
||||
"""
|
||||
Function to sort a list of class objects, where subclasses
|
||||
have lower indices than their superclasses
|
||||
"""
|
||||
|
||||
return len(inspect.getmro(b)) - len(inspect.getmro(a))
|
||||
return -len(inspect.getmro(model_class))
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
import json
|
||||
|
||||
from django.utils.html import format_html, format_html_join
|
||||
from django.conf import settings
|
||||
from django.conf.urls import url
|
||||
from django.http import QueryDict
|
||||
from django.http import HttpResponse
|
||||
|
||||
from django.http import QueryDict
|
||||
from django.utils.html import format_html, format_html_join
|
||||
from six import iteritems
|
||||
from wagtail.wagtailcore import hooks
|
||||
from wagtail.wagtailcore.models import Page
|
||||
|
||||
|
|
@ -52,7 +52,7 @@ def return_translation_target_field_rendered_html(request, page_id):
|
|||
target_field_patched = []
|
||||
for item in origin_field_serialized:
|
||||
patched_item = None
|
||||
for att in item.iteritems():
|
||||
for att in iteritems(item):
|
||||
target_value = att[1]
|
||||
if att[0] == 'name':
|
||||
target_value = att[1].replace(
|
||||
|
|
|
|||
Loading…
Reference in a new issue