src/pyams_content/component/gallery/paragraph.py
changeset 976 5d23f030767c
parent 586 28445044f6e3
child 977 4f1a82f040c4
--- a/src/pyams_content/component/gallery/paragraph.py	Mon Sep 24 11:23:45 2018 +0200
+++ b/src/pyams_content/component/gallery/paragraph.py	Mon Sep 24 16:06:40 2018 +0200
@@ -12,22 +12,19 @@
 
 __docformat__ = 'restructuredtext'
 
-
-# import standard library
+from zope.interface import implementer
 
-# import interfaces
-from pyams_content.component.gallery.interfaces import IGalleryParagraph, GALLERY_PARAGRAPH_TYPE, GALLERY_PARAGRAPH_NAME
+from pyams_content import _
+from pyams_content.component.gallery import BaseGallery
+from pyams_content.component.gallery.interfaces import GALLERY_PARAGRAPH_NAME, GALLERY_PARAGRAPH_TYPE, IGalleryParagraph
+from pyams_content.component.paragraph import BaseParagraph, BaseParagraphContentChecker, BaseParagraphFactory
 from pyams_content.component.paragraph.interfaces import IParagraphFactory
-from pyams_content.features.checker.interfaces import IContentChecker, MISSING_VALUE, MISSING_LANG_VALUE
-from pyams_i18n.interfaces import II18n, INegotiator, II18nManager
-
-# import packages
-from pyams_content.component.gallery import Gallery as BaseGallery
-from pyams_content.component.paragraph import BaseParagraph, BaseParagraphContentChecker, BaseParagraphFactory
+from pyams_content.features.checker.interfaces import IContentChecker, MISSING_LANG_VALUE, MISSING_VALUE
+from pyams_i18n.interfaces import II18n, II18nManager, INegotiator
 from pyams_utils.adapter import adapter_config
-from pyams_utils.registry import utility_config, get_utility
+from pyams_utils.registry import get_utility, utility_config
+from pyams_utils.request import check_request
 from pyams_utils.traversing import get_parent
-from zope.interface import implementer
 
 
 @implementer(IGalleryParagraph)
@@ -37,6 +34,16 @@
     icon_class = 'fa-picture-o'
     icon_hint = GALLERY_PARAGRAPH_NAME
 
+    @property
+    def title(self):
+        request = check_request()
+        translate = request.localizer.translate
+        nb_medias = len(self)
+        if nb_medias > 0:
+            return translate(_("({0} medias)")).format(nb_medias)
+        else:
+            return translate(_("(empty gallery)"))
+
 
 @utility_config(name=GALLERY_PARAGRAPH_TYPE, provides=IParagraphFactory)
 class GalleryFactory(BaseParagraphFactory):
@@ -58,7 +65,7 @@
             langs = manager.get_languages()
         else:
             negotiator = get_utility(INegotiator)
-            langs = (negotiator.server_language, )
+            langs = (negotiator.server_language,)
         i18n = II18n(self.context)
         for lang in langs:
             value = i18n.get_attribute('title', lang, request)