U
    ‰dß  ã                   @   s,   d dl mZ G dd„ dƒZG dd„ dƒZdS )é   )Ú	to_stringc                   @   s"   e Zd ZdZddd„Zdd„ ZdS )	Ú
Suggestionz`
    Represents a single suggestion being sent or returned from the
    autocomplete server
    ç      ð?Nc                 C   s   t |ƒ| _t |ƒ| _|| _d S ©N)r   ÚstringÚpayloadÚscore)Úselfr   r   r   © r
   úD/tmp/pip-unpacked-wheel-f5h5_hbx/redis/commands/search/suggestion.pyÚ__init__
   s    

zSuggestion.__init__c                 C   s   | j S r   )r   )r	   r
   r
   r   Ú__repr__   s    zSuggestion.__repr__)r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r
   r
   r
   r   r      s   
r   c                   @   s    e Zd ZdZdd„ Zdd„ ZdS )ÚSuggestionParserzÉ
    Internal class used to parse results from the `SUGGET` command.
    This needs to consume either 1, 2, or 3 values at a time from
    the return value depending on what objects were requested
    c                 C   sb   || _ || _|r(|r(d| _d| _d| _n0|r:d| _d| _n|rLd| _d| _nd| _d| _|| _d S )Né   r   é   éÿÿÿÿ)Úwith_scoresÚwith_payloadsÚsugsizeÚ	_scoreidxÚ_payloadidxÚ_sugs)r	   r   r   Úretr
   r
   r   r      s    zSuggestionParser.__init__c                 c   sn   t dt| jƒ| jƒD ]T}| j| }| jr<t| j|| j  ƒnd}| jrV| j|| j  nd }t	|||ƒV  qd S )Né    r   )
ÚrangeÚlenr   r   r   Úfloatr   r   r   r   )r	   ÚiÚssr   r   r
   r
   r   Ú__iter__.   s
    
zSuggestionParser.__iter__N)r   r   r   r   r   r#   r
   r
   r
   r   r      s   r   N)Z_utilr   r   r   r
   r
   r
   r   Ú<module>   s   