
                         |    d Z ddlmZ ddlmZ ddlmZ ddlZddlmZ ddlZ G d dej                        Z
	 d
d	Zy)z&Holds iterator for reading from stdin.    )absolute_import)division)unicode_literalsN)errorsc                       e Zd ZdZd Zd Zy)StdinIteratorz*An iterator that returns lines from stdin.c                     | S N )selfs    8lib/googlecloudsdk/command_lib/storage/stdin_iterator.py__iter__zStdinIterator.__iter__   s    K    c                 n    t         j                  j                         }|st        |j	                         S r
   )sysstdinreadlineStopIterationrstrip)r   lines     r   __next__zStdinIterator.__next__!   s)    99D;;=r   N)__name__
__module____qualname____doc__r   r   r   r   r   r   r      s    2r   r   c                     | s|s|st        j                  d      | r|rt        j                  d      |r
t               S | S )zAHelps command decide between normal URL args and a StdinIterator.z8Must have URL arguments if not reading paths from stdin.z?Cannot have both read from stdin flag and normal URL arguments.)r   InvalidUrlErrorr   )normal_urls_argumentshould_read_paths_from_stdinallow_emptys      r   get_urls_iterabler!   (   sS     ">+

 
 B  :

 
 I  "?	r   )F)r   
__future__r   r   r   r   "googlecloudsdk.command_lib.storager   sixIteratorr   r!   r   r   r   <module>r&      s8    - &  ' 
 5 

CLL 
 EJr   