
    kq)j|                    ^    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e          Z
dS )	    )annotations)BaseCrawler)normalize_api_movie)
HttpClient)NormalizedMoviec                  *    e Zd ZdZddZddZddZdS )KKPhimCrawlerkkphimconfigdicthttpr   c                "    || _         || _        d S )N)r   r   )selfr   r   s      moviebot\crawlers\kkphim.py__init__zKKPhimCrawler.__init__   s    			    	max_pagesintreturn	list[str]c                   | j                             dd          }g }t          d|dz             D ]}| j                            |                    |                    }|                    dg           D ].}|                    d          }|r|                    |           /t          |                    di                               d          p|          }||k    r n|S )	Nlist_urlz>https://phimapi.com/danh-sach/phim-moi-cap-nhat-v3?page={page}   )pageitemsslug
pagination
totalPages)r   getranger   get_jsonformatappendr   )	r   r   url_templateslugsr   dataitemr   total_pagess	            r   
list_slugszKKPhimCrawler.list_slugs   s    {z3stt!Y]++ 	 	D9%%l&9&9t&9&D&DEED"-- ' 'xx'' 'LL&&&dhh|R88<<\JJRdSSK{"" #r   r   strr   c                   | j                             dd                              |          }| j                            |          }|                    dd          st          d|           t          | j        ||          S )N
detail_urlzhttps://phimapi.com/phim/{slug})r   statusFz#KKPhim returned invalid status for )r   r   r"   r   r!   
ValueErrorr   source_name)r   r   urlr&   s       r   fetch_moviezKKPhimCrawler.fetch_movie   s    kool,MNNUU[_U``y!!#&&xx%(( 	KI4IIJJJ"4#3T4@@@r   N)r   r   r   r   )r   r   r   r   )r   r*   r   r   )__name__
__module____qualname__r/   r   r)   r1    r   r   r	   r	   	   s[        K      A A A A A Ar   r	   N)
__future__r   moviebot.crawlers.baser   moviebot.crawlers.commonr   moviebot.httpr   moviebot.modelsr   r	   r5   r   r   <module>r;      s    " " " " " " . . . . . . 8 8 8 8 8 8 $ $ $ $ $ $ + + + + + +A A A A AK A A A A Ar   