o
    rMf_                     @   s$   d dl Z dd ZG dd deZdS )    Nc                 C   s   zt |  W dS    Y dS )NTF)int)v r   V/var/www/html/analyze/labelStudio/lib/python3.10/site-packages/boto/mashups/iobject.py
int_val_fn   s
   r   c                   @   s4   e Zd Z		dddZdddZdd	 Zd
d ZdS )IObject Enter Selectionc                 C   sx  |st d d S d }|sd}g }|D ]R}t|tr+t d||f  || |d7 }q|\}}	}
|
rL|
|dkrKt d||	|
f  || |d7 }q|	|dkrdt d||	f  || |d7 }q|rtd|t|f }|dr}|dd  }n;zt|}|dkrW d S ||d  }W n' t	y   t d|  Y n t
y   t d	|t|f  Y nw t d
 d}|r|S )NzNo Choices Available   z[%d] %sr   z[%d] %s - %sz
%s[1-%d]: /z%s is not a valid choicez %s is not within the range[1-%d]zNo objects matched your patternr   )print
isinstance
basestringappendfind	raw_inputlen
startswithr   
ValueError
IndexError)self	item_list
search_strpromptchoicenchoicesitemobjiddescvalint_valr   r   r   choose_from_list    sX   






&zIObject.choose_from_listNc                 C   s>   d}|st d| }|r||}|std|  nd}|r|S )NFz%s: Invalid value: %sT)r   r   )r   r   validation_fnokayr!   r   r   r   
get_stringN   s   zIObject.get_stringc                 C   s   d}d}|sFt d||f }tj|}tj|rd}n'tj|r<|}| t|}|r9tj||}d}nd}nt	d|  d}|r|S )NFr   z%s: %sTr$   )
r   ospath
expanduserisfileisdirr#   listdirjoinr   )r   r   r&   r!   r)   r   r   r   get_filenameZ   s$   zIObject.get_filenamec                 C   s   |  |t}t|S N)r'   r   r   )r   r   sr   r   r   get_into   s   zIObject.get_int)r   r	   r0   )__name__
__module____qualname__r#   r'   r/   r2   r   r   r   r   r      s    

.r   )r(   r   objectr   r   r   r   r   <module>   s   