o
    i                  )   @   s  d dl mZ d dlmZ d dlZd dlZd dlmZ d dlm	Z	 e
 ejdddejd	d
dddejdddddejdddddejdddddejdddddejdddddejdddddejd d!dd"dejd#d$dd%dejd&d'dd(dejd)d*dd+dejd,d-dd.d	/	/	/	/	/	/	/	/	/	/	/	/d?d0ed1ed2ed3ed4ed5ed6ed7ed8ed9ed:ed;ed<efd=d>ZdS )@    )BytesIO)AnyN)pyav)Infozaudio-files)nargsz-fz--forced-decodingTz2Forced decoding the audio file to get the duration)is_flaghelpz-tz--show-file-typezShow detected file-typez-rz--show-sample-ratezShow sample-ratez-cz--show-channelszShow number of channelsz-sz--show-samplesz+Show number of samples (N/A if unavailable)z-dz--show-duration-hmsz@Show duration in hours, minutes and seconds (N/A if unavailable)z-Dz--show-duration-secondsz-Show duration in seconds (N/A if unavailable)z-bz--show-bits-per-samplez6Show number of bits per sample (N/A if not applicable)z-Bz--show-bitratezBShow the bitrate averaged over the whole file (N/A if unavailable)z-pz--show-precisionz'Show estimated sample precision in bitsz-ez--show-encodingz#Show the name of the audio encodingz-az--show-commentsz-Show file comments (annotations) if availableFaudio_filesforced_decodingshow_file_typeshow_sample_rateshow_channelsshow_samplesshow_duration_hmsshow_duration_secondsshow_bits_per_sampleshow_bitrateshow_precisionshow_encodingshow_commentsc                 C   s  | st jddddd}t| }|g} d}t||||||||	|
||g}| D ]}tj||tgd}|sAt	| ||j
p?d7 }|rHt	|j |rOt	|j |rVt	|j |r_t	|jp]d |rit	t|j
 |rrt	|j
ppd |ryt	|j |	rt	t|j |
rt	|j |rt	|j |r|jr|j D ]\}}t	| d|  qq)t| d	kr|st	d
t|  dt|  dS dS dS )z
    Print the information of audio files.

    Args:

        AUDIO_FILES: The audio files, audio urls, paths to audio files, or stdin.
    rb)mode-Ng        )backendsr   z:    z
Total duration of z files: )clickFileconvertr   readanyaudiolabinfor   printdurationformatsample_ratechannelsnum_samplesr   format_duration	precisionformat_bit_ratebit_ratecodecmetadataitemslen)r
   r   r   r   r   r   r   r   r   r   r   r   r   
stdin_filebytesiototal_durationshow_any
audio_filer"   keyvalue r8   @/home/ubuntu/.local/lib/python3.10/site-packages/audiolab/cli.pymain   sh   M





"r:   )FFFFFFFFFFFF)ior   typingr   r   r!   audiolab.reader.backendr   audiolab.reader.infor   commandargumentoptionboolr:   r8   r8   r8   r9   <module>   s   	
*