
    wg                         d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ  G d d          Z e	             e            fd	ed
edefdZdS )    )PageBlockInterface)PageInterface)PageRepositoryInterface)ProductRepositoryInterface)get_page_repository)get_product_repositoryc                   `    e Zd ZdededdfdZdededz  fdZded	e	defd
Z
dededefdZdS )GetCatalogPagepage_repositoryproduct_repositoryreturnNc                 "    || _         || _        d S Nr   r   )selfr   r   s      =/var/www/html/cms/application/usecases/public/catalog_page.py__init__zGetCatalogPage.__init__   s    
  /"4    slugc                 ,   | j                             |          }|d S | j                                         }|                     ||          }| j                             |          }|                     ||          }|                     ||          }|S r   )r   get_catalog_blockget_catalog_page_templateset_catalog_blockget_catalog_coverset_page_title)r   r   catalogpagecovers        r   __call__zGetCatalogPage.__call__   s    &88>>?4#==??%%dG44$66t<<%%dE22""4..r   r   blockc                     t          |j                  D ]6\  }}t          |j        t	          |j                            r
||j        |<   7|S r   )	enumerateblocks
isinstancecontenttype)r   r   r    ind
page_blocks        r   r   z GetCatalogPage.set_catalog_block#   sP    (55 	) 	)OC*,d5=.A.ABB )#(C r   c                 D    | j                             |          |_        |S r   )r   get_product_type_nametitle)r   r   r   s      r   r   zGetCatalogPage.set_page_title*   s    ,BB4HH
r   )__name__
__module____qualname__r   r   r   strr   r   r   r   r    r   r   r
   r
      s        505 75 
	5 5 5 5S ]T%9    m <N S`    =        r   r
   r   r   r   c                 $    t          | |          S )Nr   )r
   r   s     r   get_catalog_pager2   0   s     /N`aaaar   N)&domain.page_blocks.entities.base_blockr    domain.page_blocks.entities.pager   "domain.page_blocks.page_repositoryr   domain.products.repositoryr   7infrastructure.persistence.repositories.page_repositoryr   :infrastructure.persistence.repositories.product_repositoryr   r
   r2   r0   r   r   <module>r9      s   E E E E E E : : : : : : F F F F F F A A A A A A W W W W W W     
" " " " " " " "L 0C/B/D/D5K5K5M5Mb b,b2b b b b b b br   