diff --git a/.gitignore b/.gitignore index 6061583..b319bff 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ *.sqlite3 +.idea \ No newline at end of file diff --git a/sirtrevor/__init__.py b/sirtrevor/__init__.py index de42229..d87cccc 100644 --- a/sirtrevor/__init__.py +++ b/sirtrevor/__init__.py @@ -1,8 +1,10 @@ import json from django.template.loader import render_to_string +from django.utils.encoding import python_2_unicode_compatible import six +#@python_2_unicode_compatible class SirTrevorContent(six.text_type): @property def html(self): @@ -14,9 +16,30 @@ def html(self): html.append(render_to_string(template_name, block['data'])) return u''.join(html) + def get_blocks(self, type=None): + if not len(self): + return + _blocks = json.loads(self)['data'] + + return [block for block in _blocks if not type or block['type'] is type or block['type'] in type] + + + def get_first_block(self, type=None): + try: + return self.get_blocks(type)[0] + except IndexError: + return None + + #def __str__(self): + # for block in self.get_blocks(): + # text = block['data'].get('text', False) + # if text: + # return text + custom_blocks_registry = {} + def register_block(block, name=None): if name is None: name = block.name diff --git a/sirtrevor/__init__.pyc b/sirtrevor/__init__.pyc new file mode 100644 index 0000000..1fdd79d Binary files /dev/null and b/sirtrevor/__init__.pyc differ diff --git a/sirtrevor/admin.pyc b/sirtrevor/admin.pyc new file mode 100644 index 0000000..e6d4b49 Binary files /dev/null and b/sirtrevor/admin.pyc differ diff --git a/sirtrevor/conf.pyc b/sirtrevor/conf.pyc new file mode 100644 index 0000000..d3696e9 Binary files /dev/null and b/sirtrevor/conf.pyc differ diff --git a/sirtrevor/fields.pyc b/sirtrevor/fields.pyc new file mode 100644 index 0000000..1272f7f Binary files /dev/null and b/sirtrevor/fields.pyc differ diff --git a/sirtrevor/forms.pyc b/sirtrevor/forms.pyc new file mode 100644 index 0000000..817e75b Binary files /dev/null and b/sirtrevor/forms.pyc differ diff --git a/sirtrevor/models.pyc b/sirtrevor/models.pyc new file mode 100644 index 0000000..cdaf653 Binary files /dev/null and b/sirtrevor/models.pyc differ diff --git a/sirtrevor/templates/sirtrevor/blocks/heading.html b/sirtrevor/templates/sirtrevor/blocks/heading.html index 2632dc7..b7e4873 100644 --- a/sirtrevor/templates/sirtrevor/blocks/heading.html +++ b/sirtrevor/templates/sirtrevor/blocks/heading.html @@ -1,4 +1,4 @@ {% load sirtrevor %}
-

{{ text|linebreaksbr }}

+

{{ text|markdown|linebreaksbr }}

diff --git a/sirtrevor/templatetags/__init__.pyc b/sirtrevor/templatetags/__init__.pyc new file mode 100644 index 0000000..498a2b3 Binary files /dev/null and b/sirtrevor/templatetags/__init__.pyc differ diff --git a/sirtrevor/templatetags/sirtrevor.pyc b/sirtrevor/templatetags/sirtrevor.pyc new file mode 100644 index 0000000..9adca5b Binary files /dev/null and b/sirtrevor/templatetags/sirtrevor.pyc differ diff --git a/sirtrevor/urls.pyc b/sirtrevor/urls.pyc new file mode 100644 index 0000000..88ad5df Binary files /dev/null and b/sirtrevor/urls.pyc differ diff --git a/sirtrevor/views.py b/sirtrevor/views.py index 9bd104b..1bd02bf 100644 --- a/sirtrevor/views.py +++ b/sirtrevor/views.py @@ -4,6 +4,7 @@ from django.conf import settings from django.core.files.storage import default_storage from django.http import HttpResponse +from django.utils.module_loading import import_string from django.utils.text import slugify from django.views.decorators.csrf import csrf_exempt from django.views.decorators.http import require_POST @@ -11,9 +12,10 @@ from PIL import Image from .forms import AttachmentForm - AUTH_TEST = lambda u: u.is_staff - +validator = getattr(settings, 'SIRTREVOR_USER_ATTACHMENT_VALIDATOR', False) +if validator: + AUTH_TEST = import_string(validator) @csrf_exempt @require_POST diff --git a/sirtrevor/views.pyc b/sirtrevor/views.pyc new file mode 100644 index 0000000..ce45103 Binary files /dev/null and b/sirtrevor/views.pyc differ diff --git a/sirtrevor/widgets.pyc b/sirtrevor/widgets.pyc new file mode 100644 index 0000000..24a056f Binary files /dev/null and b/sirtrevor/widgets.pyc differ