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 %}