
    Vh                         d dl mZmZmZ eZd dlZd dlmZm	Z	 d dl
mZ d dlmZ  G d de      Z G d d	e      Zej"                  Zd
 ZddZy)    )absolute_importdivisionprint_functionN)BytesIOStringIO)	to_native)PY3c                       e Zd Zy)CustomDialectFailureErrorN__name__
__module____qualname__     n/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/community/general/plugins/module_utils/csv.pyr   r          r   r   c                       e Zd Zy)DialectNotAvailableErrorNr   r   r   r   r   r      r   r   r   c                     G d dt         j                        }t        j                  d|       | t        j                         vrt	        d| z        |j                         D ci c]  \  }}|	|| }}}|r	 t        j                  d| fi | d} | S c c}}w # t        $ r}t        dt        |      z        d }~ww xY w)Nc                   <    e Zd ZdZdZdZdZdZdZe	j                  Zy)(initialize_dialect.<locals>.unix_dialectz:Describe the usual properties of Unix-generated CSV files.,"TF
N)r   r   r   __doc__	delimiter	quotechardoublequoteskipinitialspacelineterminatorcsv	QUOTE_ALLquotingr   r   r   unix_dialectr      s(    H		 --r   r%   unixz8Dialect '%s' is not supported by your version of python.customz#Unable to create custom dialect: %s)	r"   Dialectregister_dialectlist_dialectsr   items	TypeErrorr   r   )dialectkwargsr%   kvdialect_paramses          r   initialize_dialectr3      s     s{{   .c''))&'adk'kll (.||~Gtq!adGNG	b  7EnE N H  	b+,QT]^_T`,`aa	bs$   '
B2B=B 	C'B>>Cc                     t        d      }t        | d      } | j                  |      r| t        |      d  } t        rt	        |       }nt        |       }t        j                  |||      }|S )Nu   ﻿surrogate_or_strict)errors)
fieldnamesr-   )r   
startswithlenr	   r   r   r"   
DictReader)datar-   r7   BOMfake_fhreaders         r   read_csvr?   9   s`    
I
CT"78DsCHI
4.$-^^G
GLFMr   )N)
__future__r   r   r   type__metaclass__r"   ior   r   +ansible.module_utils.common.text.convertersr   ansible.module_utils.sixr	   	Exceptionr   r   ErrorCSVErrorr3   r?   r   r   r   <module>rI      sL    A @ 
   A (		 		y 	 998r   