
    h                     v    d dl mZ ddlmZmZ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mZ  G d	 d
e      Zy)   )FieldHandler   )extract_value_by_labelresolve_missing_boolresolve_missing_text)parse_number_from_text)BoolHandler)BoolKeyHandler)TextHandler)
KeyHandlerc                       e Zd Zd Zy)LabelPairHandlerc                    |j                  d      }|s\|j                  d      |j                  d      d}d|v r|j                  dg       |d<   dD ]  }|j                  |      }	|	|	||<    |j                  d      rt        ||      nd }
|j                  d      xs dj                         }|d	k(  rt        ||
||      S |d
k(  r$t	               j                  |i |d|
i||||      S |dk(  r$t               j                  |i |d|
i||||      S |dk(  r$t               j                  |i |d|
i||||      S t               j                  |i |d|
i||||      S )NvalueExtractorlabelselector)r   r   	altLabels)matchlabelPosition	valueTagsparentFallbackvalueClassescaseInsensitive	valueTypetextnumberboolrawOverridebool_keykey)	getr   lowerr   r	   parser
   r   r   )self
field_nameconfigsoupmain_values	selectors	extractedvalue_extractoropt_keyopt_valrawvtypes               A/var/www/extractly/manual_agregator/parser/handlers/label_pair.pyr#   zLabelPairHandler.parse   s    **%56G,"JJz2O f$/5zz+r/J, !**W-&/6OG, @O?R?RSZ?[$T?;aeK(2F99; H)*c69MMF?=&&z3Qf3QmS3QSWYdfoqz{{J!#))*6T6TPS6TVZ\girt}~~E><%%j2PV2P]C2PRVXcenpyzz }"":/M&/M-/MtU`bkmvww    N)__name__
__module____qualname__r#    r1   r0   r   r   
   s    'xr1   r   N)baser   utilsr   r   r   r   r   r   r	   r   r
   r   r   r    r   r   r5   r1   r0   <module>r8      s+     V V *  $  (x| (xr1   