o
    ifi                     @   s4   d dl Z d dlmZ d dlmZ G dd deZdS )    N)partial)replace_punctuationc                   @   s   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&S )'BetweenPunctuationz(?<=\s)'(?:[^']|'[a-zA-Z])*'u$   (?<=\s)‘(?:[^’]|’[a-zA-Z])*’z"(?>[^"\\]+|\\{2}|\\.)*"z*"(?=(?P<tmp>[^\"\\]+|\\{2}|\\.)*)(?P=tmp)"u   «(?>[^»\\]+|\\{2}|\\.)*»u.   \«(?=(?P<tmp>[^»\\]+|\\{2}|\\.)*)(?P=tmp)\»u   “(?>[^”\\]+|\\{2}|\\.)*”u1   \“(?=(?P<tmp>[^”\\]+|\\{2}|\\.)*)(?P=tmp)\”z\[(?>[^\]\\]+|\\{2}|\\.)*\]z,\[(?=(?P<tmp>[^\]\\]+|\\{2}|\\.)*)(?P=tmp)\]z\((?>[^\(\)\\]+|\\{2}|\\.)*\)z.\((?=(?P<tmp>[^\(\)\\]+|\\{2}|\\.)*)(?P=tmp)\)z(?<=\s)'(?:[^']|'[a-zA-Z])*'\Sz\-\-(?>[^\-\-])*\-\-z--(?=(?P<tmp>[^--]*))(?P=tmp)--c                 C   s
   || _ d S N)text)selfr    r   R/var/www/html/corbot_env/lib/python3.10/site-packages/pysbd/between_punctuation.py__init__/   s   
zBetweenPunctuation.__init__c                 C   s   |  | jS r   ))sub_punctuation_between_quotes_and_parensr   )r   r   r   r	   replace2   s   zBetweenPunctuation.replacec                 C   sT   |  |}| |}| |}| |}| |}| |}| |}| |}|S r   )%sub_punctuation_between_single_quotes,sub_punctuation_between_single_quote_slanted%sub_punctuation_between_double_quotes'sub_punctuation_between_square_bracketssub_punctuation_between_parens$sub_punctuation_between_quotes_arrow!sub_punctuation_between_em_dashes&sub_punctuation_between_quotes_slantedr   txtr   r   r	   r   5   s   







z<BetweenPunctuation.sub_punctuation_between_quotes_and_parensc                 C      t | jt|S r   )resubBETWEEN_PARENS_REGEX_2r   r   r   r   r	   r   @      z1BetweenPunctuation.sub_punctuation_between_parensc                 C   r   r   )r   r   BETWEEN_SQUARE_BRACKETS_REGEX_2r   r   r   r   r	   r   C      
z:BetweenPunctuation.sub_punctuation_between_square_bracketsc                 C   s6   t | j|rt d|s|S t | jttdd|S )Nz'\ssingle)
match_type)r   searchWORD_WITH_LEADING_APOSTROPHEr   BETWEEN_SINGLE_QUOTES_REGEXr   r   r   r   r   r	   r   G   s   
z8BetweenPunctuation.sub_punctuation_between_single_quotesc                 C   r   r   )r   r   "BETWEEN_SINGLE_QUOTE_SLANTED_REGEXr   r   r   r   r	   r   N   s   z?BetweenPunctuation.sub_punctuation_between_single_quote_slantedc                 C   r   r   )r   r   BETWEEN_DOUBLE_QUOTES_REGEX_2r   r   r   r   r	   r   R   r   z8BetweenPunctuation.sub_punctuation_between_double_quotesc                 C   r   r   )r   r   BETWEEN_QUOTE_ARROW_REGEX_2r   r   r   r   r	   r   V   r   z7BetweenPunctuation.sub_punctuation_between_quotes_arrowc                 C   r   r   )r   r   BETWEEN_EM_DASHES_REGEX_2r   r   r   r   r	   r   Y   r   z4BetweenPunctuation.sub_punctuation_between_em_dashesc                 C   r   r   )r   r   BETWEEN_QUOTE_SLANTED_REGEX_2r   r   r   r   r	   r   \   r   z9BetweenPunctuation.sub_punctuation_between_quotes_slantedN)__name__
__module____qualname__r"   r#   BETWEEN_DOUBLE_QUOTES_REGEXr$   BETWEEN_QUOTE_ARROW_REGEXr%   BETWEEN_QUOTE_SLANTED_REGEXr'   BETWEEN_SQUARE_BRACKETS_REGEXr   BETWEEN_PARENS_REGEXr   r!   BETWEEN_EM_DASHES_REGEXr&   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r      s6    r   )r   	functoolsr   pysbd.punctuation_replacerr   objectr   r   r   r   r	   <module>   s   