src/pyams_content/component/gallery/zmi/file.py
changeset 365 e956535074d3
parent 363 86d1a240d4dc
child 527 5dd1aa8bedd9
equal deleted inserted replaced
364:b2fc446f15d9 365:e956535074d3
    44 from pyams_viewlet.viewlet import viewlet_config
    44 from pyams_viewlet.viewlet import viewlet_config
    45 from pyams_zmi.form import AdminDialogEditForm, AdminDialogAddForm
    45 from pyams_zmi.form import AdminDialogEditForm, AdminDialogAddForm
    46 from pyramid.view import view_config
    46 from pyramid.view import view_config
    47 from z3c.form import field
    47 from z3c.form import field
    48 from zope.lifecycleevent import ObjectCreatedEvent
    48 from zope.lifecycleevent import ObjectCreatedEvent
       
    49 from zope.location import locate
    49 
    50 
    50 from pyams_content import _
    51 from pyams_content import _
    51 
    52 
    52 
    53 
    53 @viewlet_config(name='add-media.menu', context=IGallery, view=IGalleryContentsView, manager=IWidgetTitleViewletManager)
    54 @viewlet_config(name='add-media.menu', context=IGallery, view=IGalleryContentsView, manager=IWidgetTitleViewletManager)
    95             if extractor is not None:
    96             if extractor is not None:
    96                 extractor.initialize(medias_data)
    97                 extractor.initialize(medias_data)
    97                 for content, filename in extractor.get_contents():
    98                 for content, filename in extractor.get_contents():
    98                     try:
    99                     try:
    99                         media = GalleryFile()
   100                         media = GalleryFile()
       
   101                         locate(media, self.context)
   100                         media.data = filename, content
   102                         media.data = filename, content
   101                     except WrongType:
   103                     except WrongType:
   102                         continue
   104                         continue
   103                     else:
   105                     else:
   104                         registry.notify(ObjectCreatedEvent(media))
   106                         registry.notify(ObjectCreatedEvent(media))
   105                         medias.append(media)
   107                         medias.append(media)
   106             else:
   108             else:
   107                 try:
   109                 try:
   108                     media = GalleryFile()
   110                     media = GalleryFile()
       
   111                     locate(media, self.context)
   109                     media.data = filename, medias_data if filename else medias_data
   112                     media.data = filename, medias_data if filename else medias_data
   110                 except WrongType:
   113                 except WrongType:
   111                     pass
   114                     pass
   112                 else:
   115                 else:
   113                     registry.notify(ObjectCreatedEvent(media))
   116                     registry.notify(ObjectCreatedEvent(media))