
    6h                     ^    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
Z
 G d de      Zy)	    )BaseCommand)NetworkMonitoredPage)fetch_and_save_html_for_pages)get_pages_to_process)sync_to_asyncNc                       e Zd ZdZd Zd Zy)CommanduM   Pobiera HTML stron z NetworkMonitoredPage według filtrów lub konkretnego IDc                     |j                  dt        d       |j                  dg dd       |j                  dd	
       |j                  ddd       |j                  ddd       y )Nz--idz#ID konkretnego NetworkMonitoredPage)typehelpz--enable)truefalseallr   )choicesdefaultz--name*)nargsz
--headless
store_trueF)actionr   z--include-fetched)add_argumentint)selfparsers     </var/www/extractly/extractly/management/commands/run_html.pyadd_argumentszCommand.add_arguments   sm    F3XYJ0HRXYHC0LuM/eT    c                      |d   |d   |d   |d   |d    fd}t        j                   |              y )Nidenablenameheadlessinclude_fetchedc            
      ~  K   ddl m}  
r7	  t        t        j                  j
                        
       d {   }|g}nKt               d {   } t        t              |       d {   }t        dt        |       d        |        4 d {   }|j                  j                  	g d	       d {   }|j                  d
dddddddd       d {   }|j!                  d       d {    |j#                          d {   }t%        ||       d {    |j'                          d {    d d d       d {    y 7 # t        j                  $ r! j                  j                  d
        Y y w xY w7 >7 $7 7 7 7 7 7 w7 a7 S# 1 d {  7  sw Y   y xY ww)Nr   )async_playwright)r   zBrak NetworkMonitoredPage o id=)r   r    r"   zDo pobrania: z stron)z---disable-blink-features=AutomationControlledz--no-sandboxz--disable-dev-shm-usage)r!   argszoMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36zpl-PLzEurope/WarsawiV  i   )widthheightzpl-PL,pl;q=0.9,en;q=0.81)zAccept-LanguagezUpgrade-Insecure-Requests)
user_agentlocaletimezone_idviewportextra_http_headersan  
                Object.defineProperty(Navigator.prototype, 'webdriver', { get: () => undefined });
                window.chrome = window.chrome || { runtime: {} };
                Object.defineProperty(navigator, 'languages', { get: () => ['pl-PL','pl'] });
                Object.defineProperty(navigator, 'plugins',  { get: () => [1,2,3,4,5] });
                )pages)playwright.async_apir$   r   r   objectsgetDoesNotExiststderrwriter   listprintlenchromiumlaunchnew_contextadd_init_scriptnew_pager   close)r$   objr.   pages_qspbrowsercontextpager   r!   id_r"   namesr   s           r   runnerzCommand.handle.<locals>.runner   s    = O.B.J.J.N.N OSV WWC EE
 "6!$3" 
 2mD1(;;c%j\89'))Q !

 1 1% !2 !  !( 3 3M # /'+s;+D58( !4 !  -- /    %--//3DFFFmmo%%A *)) X+88 KK%%(Gu&MN
 < * 0F%A *)))s
  	F=-E EE F=FF=1F2'F=FF=#F( F#F($F%F(=F>F(F F(*F"+F(F$F(F=F&F=E 1FF=FF=F=F=F(F(F( F("F($F(&F=(F:.F1/F:6F=)asynciorun)	r   r%   optionsrF   r   r!   rD   r"   rE   s	   `   @@@@@r   handlezCommand.handle   sO    dm":&!"343	& 3	&j 	FHr   N)__name__
__module____qualname__r   r   rJ    r   r   r	   r	      s    ZDU<r   r	   )django.core.management.baser   extractly.modelsr   html_agregator.html_fetcherr   html_agregator.utils.processr   asgiref.syncr   rG   r	   rN   r   r   <module>rT      s%    3 1 E = & Fk Fr   