
    3 d                     *    d Z ddlmZ d ZddZd ZdS )z;Some debugging functions for working with the Scrapy engine    )timec                     g d}g }|D ]L}	 ||t          |          fgz  }# t          $ r'}||t          |          j         dfgz  }Y d}~Ed}~ww xY w|S )z,Return a report of the current engine status)ztime()-engine.start_timezlen(engine.downloader.active)zengine.scraper.is_idle()zengine.spider.namezengine.spider_is_idle()zengine.slot.closingzlen(engine.slot.inprogress)z$len(engine.slot.scheduler.dqs or [])zlen(engine.slot.scheduler.mqs)zlen(engine.scraper.slot.queue)zlen(engine.scraper.slot.active)zengine.scraper.slot.active_sizez!engine.scraper.slot.itemproc_sizez#engine.scraper.slot.needs_backout()z (exception)N)eval	Exceptiontype__name__)enginetestscheckstestes        3lib/python3.11/site-packages/scrapy/utils/engine.pyget_engine_statusr      s      E" F B B	Bd4jj)**FF 	B 	B 	Ba!1???@AAFFFFFF	B Ms   "
AAANc                 Z    t          |           }d}|D ]\  }}||dd| dz  }|dz  }|S )NzExecution engine status

z<47z : 
)r   )r	   r   sr   results        r   format_engine_statusr   $   sU    v&&F%A ( (f	'''V''''IAH    c                 >    t          t          |                      d S N)printr   )r	   s    r   print_engine_statusr   .   s    	
v
&
&'''''r   r   )__doc__r   r   r   r    r   r   <module>r      s[    A A        :   ( ( ( ( (r   