diff --git a/djangocms_text_ckeditor/cms_plugins.py b/djangocms_text_ckeditor/cms_plugins.py
index d6b2ab2..a94949a 100644
--- a/djangocms_text_ckeditor/cms_plugins.py
+++ b/djangocms_text_ckeditor/cms_plugins.py
@@ -6,11 +6,11 @@ from cms import __version__ as cms_version
from cms.plugin_base import CMSPluginBase
from cms.plugin_pool import plugin_pool
-from djangocms_text_ckeditor.settings import TEXT_CKEDITOR_CONFIGURATION
-from djangocms_text_ckeditor.widgets import TextEditorWidget
-from djangocms_text_ckeditor.models import Text
-from djangocms_text_ckeditor.utils import plugin_tags_to_user_html
-from djangocms_text_ckeditor.forms import TextForm
+from .settings import TEXT_CKEDITOR_CONFIGURATION
+from .widgets import TextEditorWidget
+from .models import Text
+from .utils import plugin_tags_to_user_html
+from .forms import TextForm
class TextPlugin(CMSPluginBase):
diff --git a/djangocms_text_ckeditor/fields.py b/djangocms_text_ckeditor/fields.py
index bbd8559..f66c581 100644
--- a/djangocms_text_ckeditor/fields.py
+++ b/djangocms_text_ckeditor/fields.py
@@ -1,7 +1,8 @@
from django.db import models
from django.contrib.admin import widgets as admin_widgets
-from djangocms_text_ckeditor.html import clean_html
-from djangocms_text_ckeditor.widgets import TextEditorWidget
+from .html import clean_html
+from .widgets import TextEditorWidget
+
try:
from south.modelsinspector import add_introspection_rules
add_introspection_rules([], ['^djangocms_text_ckeditor\.fields\.HTMLField'])
diff --git a/djangocms_text_ckeditor/forms.py b/djangocms_text_ckeditor/forms.py
index a0d97fd..5feb7ce 100644
--- a/djangocms_text_ckeditor/forms.py
+++ b/djangocms_text_ckeditor/forms.py
@@ -1,7 +1,7 @@
from django import forms
from django.forms.models import ModelForm
-from djangocms_text_ckeditor.models import Text
+from .models import Text
class TextForm(ModelForm):
diff --git a/djangocms_text_ckeditor/html.py b/djangocms_text_ckeditor/html.py
index 2f9da4c..4641245 100644
--- a/djangocms_text_ckeditor/html.py
+++ b/djangocms_text_ckeditor/html.py
@@ -1,17 +1,18 @@
# -*- coding: utf-8 -*-
-try:
- from io import BytesIO as StringIO
-except:
- from StringIO import StringIO
-import uuid
+import base64
from html5lib import sanitizer, serializer, treebuilders, treewalkers
import html5lib
-import re
-import base64
+try:
+ from io import BytesIO as StringIO
+except ImportError:
+ from StringIO import StringIO
from PIL import Image
+import re
+import uuid
+
from .settings import (TEXT_SAVE_IMAGE_FUNCTION, TEXT_ADDITIONAL_TAGS,
TEXT_ADDITIONAL_ATTRIBUTES, TEXT_HTML_SANITIZE)
-from djangocms_text_ckeditor.utils import plugin_to_tag
+from .utils import plugin_to_tag
def _get_default_parser():
@@ -55,6 +56,7 @@ def clean_html(data, full=True, parser=DEFAULT_PARSER):
quote_attr_values=True)
return u''.join(s.serialize(stream))
+
def extract_images(data, plugin):
"""
extracts base64 encoded images from drag and drop actions in browser and saves
diff --git a/djangocms_text_ckeditor/models.py b/djangocms_text_ckeditor/models.py
index 1025a5d..211b9f8 100644
--- a/djangocms_text_ckeditor/models.py
+++ b/djangocms_text_ckeditor/models.py
@@ -6,7 +6,6 @@ try:
except ImportError:
from django.utils.encoding import force_unicode as force_unicode_or_text
-from django.utils.encoding import force_unicode
from django.db import models
from django.utils.html import strip_tags
from django.utils.text import Truncator
@@ -47,7 +46,8 @@ class AbstractText(CMSPlugin):
plugins = CMSPlugin.objects.filter(parent=self)
for plugin in plugins:
if not plugin.pk in ids:
- plugin.delete() #delete plugins that are not referenced in the text anymore
+ #delete plugins that are not referenced in the text anymore
+ plugin.delete()
def post_copy(self, old_instance, ziplist):
"""
@@ -123,7 +123,7 @@ class AbstractText(CMSPlugin):
order = 1
for child in children:
replacements['_tag_child_'+str(order)] = plugin_to_tag(child)
- order+=1
+ order += 1
self.body = self.body % replacements
self.save()
diff --git a/djangocms_text_ckeditor/picture_save.py b/djangocms_text_ckeditor/picture_save.py
index 20a177e..35ca7ba 100644
--- a/djangocms_text_ckeditor/picture_save.py
+++ b/djangocms_text_ckeditor/picture_save.py
@@ -1,6 +1,6 @@
+import os
from cms.models.pluginmodel import CMSPlugin
from django.conf import settings
-import os
def create_picture_plugin(filename, file, parent_plugin, **kwargs):
diff --git a/djangocms_text_ckeditor/settings.py b/djangocms_text_ckeditor/settings.py
index 0681918..2957142 100644
--- a/djangocms_text_ckeditor/settings.py
+++ b/djangocms_text_ckeditor/settings.py
@@ -1,14 +1,12 @@
from django.conf import settings
-#See http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html for all settings
+# See http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html
+# for all settings
CKEDITOR_SETTINGS = getattr(settings, 'CKEDITOR_SETTINGS', {
'language': '{{ language }}',
'toolbar': 'CMS',
'skin': 'moono',
-# 'stylesSet': [
-# {'name': 'Custom Style', 'element': 'h3', 'styles': {'color': 'Blue'}}
-# ],
'toolbarCanCollapse': False,
})
diff --git a/djangocms_text_ckeditor/utils.py b/djangocms_text_ckeditor/utils.py
index d1d543c..38cc919 100644
--- a/djangocms_text_ckeditor/utils.py
+++ b/djangocms_text_ckeditor/utils.py
@@ -1,16 +1,16 @@
+import os
import re
-from django.template.defaultfilters import force_escape
-import django
-
from cms.models import CMSPlugin
from distutils.version import LooseVersion
-from django.utils.functional import LazyObject
+import django
from django.core.files.storage import get_storage_class
-import os
+from django.template.defaultfilters import force_escape
+from django.utils.functional import LazyObject
OBJ_ADMIN_RE_PATTERN = r']*\bid="plugin_obj_(\d+)"[^>]*/?>'
OBJ_ADMIN_RE = re.compile(OBJ_ADMIN_RE_PATTERN)
+
def plugin_to_tag(obj):
return u'' % \
dict(id=obj.id,
@@ -18,10 +18,12 @@ def plugin_to_tag(obj):
icon_alt=force_escape(obj.get_instance_icon_alt()),
)
+
def plugin_tags_to_id_list(text, regex=OBJ_ADMIN_RE):
ids = regex.findall(text)
return [int(id) for id in ids if id.isdigit()]
+
def plugin_tags_to_user_html(text, context, placeholder):
"""
Convert plugin object 'tags' into the form for public site.
@@ -29,6 +31,7 @@ def plugin_tags_to_user_html(text, context, placeholder):
context is the template context to use, placeholder is the placeholder name
"""
plugin_map = _plugin_dict(text)
+
def _render_tag(m):
plugin_id = int(m.groups()[0])
try:
@@ -41,6 +44,7 @@ def plugin_tags_to_user_html(text, context, placeholder):
return obj.render_plugin(context, placeholder)
return OBJ_ADMIN_RE.sub(_render_tag, text)
+
def replace_plugin_tags(text, id_dict):
def _replace_tag(m):
plugin_id = int(m.groups()[0])
@@ -87,6 +91,7 @@ class ConfiguredStorage(LazyObject):
configured_storage = ConfiguredStorage()
+
def static_url(path):
'''
Helper that prefixes a URL with STATIC_URL and cms
diff --git a/djangocms_text_ckeditor/widgets.py b/djangocms_text_ckeditor/widgets.py
index 25974e2..587cb8c 100644
--- a/djangocms_text_ckeditor/widgets.py
+++ b/djangocms_text_ckeditor/widgets.py
@@ -6,7 +6,7 @@ from django.template.loader import render_to_string
from django.utils.safestring import mark_safe
from django.utils.translation.trans_real import get_language
-import djangocms_text_ckeditor.settings as text_settings
+from . import settings as text_settings
class TextEditorWidget(Textarea):