Пример #1
0
    def get_title_image_tag(self):
        """Generate image tag.

        Note: ``target_title_image`` uses the uberselection-widget
        and does not return an object (unlike Archetypes reference
        fields).
        """

        if self.image_is_background():
            return None

        ref = self.data.target_title_image
        if ref is None:
            return

        image = ref.to_object

        if IImageScaleTraversable and IImageScaleTraversable.providedBy(image):
            try:
                view = image.restrictedTraverse('@@images')
                view = view.__of__(image)
                return view.tag('image',
                                scale=self.data.title_image_scale,
                                alt=image.description,
                                title=image.title)
            except:
                pass
Пример #2
0
    def get_background_image_url(self):
        ref = self.data.target_title_image
        if ref is None:
            return

        image = ref.to_object

        if IImageScaleTraversable and IImageScaleTraversable.providedBy(image):
            try:
                view = image.restrictedTraverse('@@images')
                view = view.__of__(image)
                return view.scale('image', scale=self.data.title_image_scale).url
            except:
                return ''
 def get_title_image_tag(self):
     """Generate image tag.
     
     Note: ``target_title_image`` uses the uberselection-widget
     and does not return an object (unlike Archetypes reference
     fields).
     """
     
     image_path = self.data.target_title_image
     
     
     # it feels insane that i need to do manual strippping of the first slash in this string.
     # I must be doing something wrong
     # please make this bit more sane
     
     if image_path is None or len(image_path)==0:
         return None
     # The portal root is never a image
     
     if image_path[0]=='/':
         image_path = image_path[1:]
     image = self.portal.restrictedTraverse(image_path, default=None)
     
     # we should also check that the returned object implements the interfaces for image
     # So that we don't accidentally return folders and stuff that will make things break
     scale = self.data.scale or u"mini"
     scale = scale.encode('ascii', 'replace')
     if IImageScaleTraversable and IImageScaleTraversable.providedBy(image):
         try:
             view = image.restrictedTraverse('@@images')
             view = view.__of__(image)
             return view.tag('image', scale=scale)
         except:
             return None
     elif IATImage.providedBy(image) and image.getImage() is not None:
         return image.tag(scale=scale)
     else:
         return None
Пример #4
0
    def get_title_image_tag(self):
        """Generate image tag.

        Note: ``target_title_image`` uses the uberselection-widget
        and does not return an object (unlike Archetypes reference
        fields).
        """

        image_path = self.data.target_title_image

        # it feels insane that i need to do manual strippping of the first slash in this string.
        # I must be doing something wrong
        # please make this bit more sane

        if image_path is None or len(image_path) == 0:
            return None
        # The portal root is never a image

        if image_path[0] == '/':
            image_path = image_path[1:]
        image = self.portal.restrictedTraverse(image_path, default=None)

        # we should also check that the returned object implements the interfaces for image
        # So that we don't accidentally return folders and stuff that will make things break
        scale = self.data.scale or u"mini"
        scale = scale.encode('ascii', 'replace')
        if IImageScaleTraversable and IImageScaleTraversable.providedBy(image):
            try:
                view = image.restrictedTraverse('@@images')
                view = view.__of__(image)
                return view.tag('image', scale=scale)
            except:
                return None
        elif IATImage.providedBy(image) and image.getImage() is not None:
            return image.tag(scale=scale)
        else:
            return None
Пример #5
0
 def __new__(cls, context, request):
     parent = aq_parent(context)
     if IImageScaleTraversable.providedBy(parent):
         return ImageScaling(parent, request)
     return None