ó
è?F[c           @   s/   d  d l  Z  d „  Z d e f d „  ƒ  YZ d S(   iÿÿÿÿNc         C   s!   y t  |  ƒ t SWn t SXd  S(   N(   t   intt   Truet   False(   t   v(    (    s3   lib/python2.7/site-packages/boto/mashups/iobject.pyt
   int_val_fn   s
    
t   IObjectc           B   s5   e  Z d  d d „ Z d d „ Z d „  Z d „  Z RS(   t    s   Enter Selectionc         C   sÎ  | s d GHd  Sd  } x²| sÉd } g  } xÝ | D]Õ } t | t ƒ ro d | | f GH| j | ƒ | d 7} q1 | \ } }	 }
 |
 rÈ |
 j | ƒ d k rd | |	 |
 f GH| j | ƒ | d 7} qq1 |	 j | ƒ d k r1 d | |	 f GH| j | ƒ | d 7} q1 q1 W| r»t d | t | ƒ f ƒ } | j d ƒ rH| d } qÆy. t | ƒ } | d k rgd  S| | d } WqÆt	 k
 r’d | GHqÆt
 k
 r·d	 | t | ƒ f GHqÆXq d
 GHd } q W| S(   Ns   No Choices Availablei   s   [%d] %si    s   [%d] %s - %ss
   %s[1-%d]: t   /s   %s is not a valid choices    %s is not within the range[1-%d]s   No objects matched your patternR   (   t   Nonet
   isinstancet
   basestringt   appendt   findt	   raw_inputt   lent
   startswithR    t
   ValueErrort
   IndexError(   t   selft	   item_listt
   search_strt   promptt   choicet   nt   choicest   itemt   objt   idt   desct   valt   int_val(    (    s3   lib/python2.7/site-packages/boto/mashups/iobject.pyt   choose_from_list    sN    	
c         C   sT   t  } xG | sO t d | ƒ } | rF | | ƒ } | sL d | GHqL q	 t } q	 W| S(   Ns   %s: s   Invalid value: %s(   R   R   R   (   R   R   t   validation_fnt   okayR   (    (    s3   lib/python2.7/site-packages/boto/mashups/iobject.pyt
   get_stringN   s    	
c         C   sÌ   t  } d } x¹ | sÇ t d | | f ƒ } t j j | ƒ } t j j | ƒ rX t } q t j j | ƒ rµ | } |  j t j	 | ƒ ƒ } | r¬ t j j
 | | ƒ } t } qÄ d } q d | GHd } q W| S(   NR   s   %s: %ss   Invalid value: %s(   R   R   t   ost   patht
   expandusert   isfileR   t   isdirR   t   listdirt   join(   R   R   R!   R   R$   (    (    s3   lib/python2.7/site-packages/boto/mashups/iobject.pyt   get_filenameZ   s"    					
c         C   s   |  j  | t ƒ } t | ƒ S(   N(   R"   R   R    (   R   R   t   s(    (    s3   lib/python2.7/site-packages/boto/mashups/iobject.pyt   get_into   s    N(   t   __name__t
   __module__R   R   R"   R*   R,   (    (    (    s3   lib/python2.7/site-packages/boto/mashups/iobject.pyR      s
   -	(   R#   R   t   objectR   (    (    (    s3   lib/python2.7/site-packages/boto/mashups/iobject.pyt   <module>   s   	