a
    %@cp                     @   sr   d Z ddlmZ ddlZddlZddlmZ ddlmZmZ dZ	dd	 Z
d
d Zdd Zdd Zedkrne  dS )ziCalendar utility    )unicode_literalsN)datetime   )Calendar__version__zOrganiser: {organiser}
Attendees:
  {attendees}
Summary: {summary}
When: {time_from}-{time_to}
Location: {location}
Comment: {comment}
Description:

{description}

c                 C   s:   | sdS |   dd }d| jv r6d| jd |S |S )zRetrieve the e-mail and optionally the name from an address.

    :arg vCalAddress address: An address object.

    :returns str: The name and optionally the e-mail address.
     :r   Zcnz{} <{}>)titlesplitparamsformat)addressemail r   P/var/www/dev/btcams2022/python_venv/lib/python3.9/site-packages/icalendar/cli.py_format_name   s    
r   c                 C   s$   t | tkrdtt| S t| S )zFormat the list of attendees.

    :arg any attendees: Either a list, a string or a vCalAddress object.

    :returns str: Formatted list of attendees.
    z
  )typelistjoinmapr   )	attendeesr   r   r   _format_attendees+   s    r   c                 C   s   t |  }|dD ]}|tjt|ddt	|d|ddt
|djdt
|djd	|d
d|dd|dddd qdS )zMake a human readable summary of an iCalendar file.

    :arg stream handle: Open readable handle to an iCalendar file.

    :returns str: Human readable summary.
    ZveventZ	organizerr   ZattendeesummaryZdtstartz%a %d %b %Y %H:%MZdtendz%H:%Mlocationcommentdescription)Z	organiserr   r   Z	time_fromZtime_tor   r   r   zutf-8N)r   Z	from_icalreadwalkwrite	_templater   r   getr   r   strftimedtencode)input_handleoutput_handlecaleventr   r   r   view7   s     



	r(   c               
   C   s   t jt jtd} | jdddd| jtd | jdd}|j	d	t
jd
d d}|jddt ddd |jdddt dtjdd |jt
d |  }z&|jf i dd t| D  W n. ty } z| | W Y d}~n
d}~0 0 dS )zMain entry point.)formatter_classr   z-vz	--versionversionz{} version {})actionr*   
subcommand)destr(   z

r   )r   r$   ZINPUTrziCalendar file)metavarr   helpz-or%   ZOUTPUTwzoutput file (default=<stdout>))r-   r/   r   defaultr0   )funcc                 S   s   i | ]\}}|d vr||qS ))r3   r,   r   ).0kvr   r   r   
<dictcomp>h   s   zmain.<locals>.<dictcomp>N)argparseArgumentParserRawDescriptionHelpFormatter__doc__add_argumentr   progr   add_subparsers
add_parserr(   r
   FileTypesysstdoutset_defaults
parse_argsr3   varsitems
ValueErrorerror)parserZ
subparsersZ	subparserargsrH   r   r   r   mainM   s6    &rK   __main__)r;   
__future__r   r8   rA   r   r   r   r   r   r   r   r(   rK   __name__r   r   r   r   <module>   s   !