diff --git a/content_plugins/base.py b/content_plugins/base.py index 2830bfd..f8ba81e 100644 --- a/content_plugins/base.py +++ b/content_plugins/base.py @@ -1,4 +1,6 @@ +import os import re + from django.conf import settings from django.core.exceptions import ImproperlyConfigured from django.db import models @@ -182,6 +184,65 @@ class SectionBase(StyleMixin, FilesystemTemplateRendererPlugin): return context +class ObjectPluginBase(FilesystemTemplateRendererPlugin): + fk_fieldname = None + regions = None + + class Meta: + abstract = True + + def __str__(self): + return str(getattr(self, self.fk_fieldname, "")) + + @property + def object(self): + assert self.fk_fieldname, "fk_fieldname not set." + return getattr(self, self.fk_fieldname) + + def get_type_slug(self): + type = getattr(self.object, 'type', None) + if type: + return getattr(type, 'internal_slug', "") + return "" + + def get_template_names(self): + """" + __/_