
    $$}g                     v    d dl mZ d dl mZmZmZ d dlZddlmZ  ej        d          Z	 G d de
          ZdS )	    )absolute_import)divisionprint_functionunicode_literalsN   )normalize_whitespacez\bh\d\bc                       e Zd ZdZd Zed             Zed             Zed             Zd Z	ed             Z
d Zd	 Zd
 Zd Zd ZdS )	Paragraphz.Object representing one block of text in HTML.c                 n    |j         | _        |j        | _        g | _        d| _        d| _        d| _        d S )Nr    )domdom_pathxpath
text_nodeschars_count_in_links
tags_count
class_type)selfpaths     Q/var/www/py-google-trends/myenv/lib/python3.11/site-packages/justext/paragraph.py__init__zParagraph.__init__   s5    Z
$%!    c                 Z    t          t                              | j                            S N)boolHEADINGS_PATTERNsearchr   r   s    r   
is_headingzParagraph.is_heading   s!    $++DM::;;;r   c                     | j         dk    S )Ngood)r   r   s    r   is_boilerplatezParagraph.is_boilerplate   s    &((r   c                 x    d                     | j                  }t          |                                          S )Nr   )joinr   r   stripr   texts     r   r'   zParagraph.text    s+    wwt''#DJJLL111r   c                 *    t          | j                  S r   )lenr'   r   s    r   __len__zParagraph.__len__%   s    49~~r   c                 N    t          | j                                                  S r   )r)   r'   splitr   s    r   words_countzParagraph.words_count(   s    49??$$%%%r   c                 *    t          | j                  S r   )r   r   r   s    r   contains_textzParagraph.contains_text,   s    DO$$$r   c                 X    t          |          }| j                            |           |S r   )r   r   appendr&   s     r   append_textzParagraph.append_text/   s*    #D))t$$$r   c                 h    t          fd| j                                        D                       S )Nc              3   D   K   | ]}|                                 v V  d S r   )lower).0word	stopwordss     r   	<genexpr>z,Paragraph.stopwords_count.<locals>.<genexpr>5   s0      KK4::<<9,KKKKKKr   )sumr'   r,   r   r8   s    `r   stopwords_countzParagraph.stopwords_count4   s2    KKKK9J9JKKKKKKr   c                 V    | j         dk    rdS |                     |          | j         z  S Nr   )r-   r<   r;   s     r   stopwords_densityzParagraph.stopwords_density7   s1    q  1##I..1AAAr   c                 N    t          | j                  }|dk    rdS | j        |z  S r>   )r)   r'   r   )r   text_lengths     r   links_densityzParagraph.links_density=   s-    $)nn!1(;66r   N)__name__
__module____qualname____doc__r   propertyr   r"   r'   r*   r-   r/   r2   r<   r?   rB    r   r   r
   r
      s        88   < < X< ) ) X) 2 2 X2   & & X&% % %  
L L LB B B7 7 7 7 7r   r
   )
__future__r   r   r   r   reutilsr   compiler   objectr
   rH   r   r   <module>rN      s    ' & & & & & A A A A A A A A A A 				 ' ' ' ' ' ' 2:j)) 47 47 47 47 47 47 47 47 47 47r   