o
    a`                     @   st   d dl mZ d dlmZ d dlmZ d dlZd dlZd dl	Z	d dl
mZmZ d dlmZ dd Zd	d
 Zdd ZdS )    )absolute_import)setup)defaultdictN)auto_find_packagesfind_package_data)get_pep621_metadatac              
      s   t | ddg d} dur0d| di di v rtd| di di di d	d}ne| d d }|d }tt}d
|v rX|d
  D ]\}}|d d|| qHd|v r{|d  D ]\}}| D ]\}}	|| d||	 qjqb|d dd|d |d |d|dg t|d |du r d	 }d fdddD v rt	j
dd t	j
dd t|ddd}
 d du r|
j d<  d du rd|
j   d< z	 t| W n ty    t|d Y nw t dg  di  d< td i   dS )!zT
    Handle pyproject.toml unserialized into data, using flit build
    system.
    versiondescriptionNmetadatatoolflitzC[project] and [tool.flit.metadata] cannot be present simultaneouslymodulenamescriptsconsole_scriptsz{} = {}entrypointsauthorzauthor-emailz	home-pageclassifiers)r   r   r	   r   author_emailurlr   entry_pointsc                    s   g | ]} | qS  r   ).0xsetup_metadatar   :usr/lib/python3.10/site-packages/pyproject2setuppy/flit.py
<listcomp>H   s    zhandle_flit.<locals>.<listcomp>)r   r	   r   .   src/  packagespackage_dirpackage_datar   )r   get
ValueErrorr   listitemsappendformatdictsyspathinsert	importlibimport_modulereplace__version__join__doc__strip
splitlinesupdater   RuntimeErrorr   r   )datamodnametopdatar
   r   r   content
group_namegroup_contentr/   modr   r   r   handle_flit   sj   




rB   c                 C   s   | d }|d }t |ts|g}|tj t_t|d d}|j}t|d dd }t	d|j
j|j
j|j
j|d |d |d	|d
g d| dS )z&Handle flit_core.build_thyself backendzbuild-systemzbackend-pathzbuild-backendr"   r   r   r   r   	home_pager   )r   r   r	   r   r   r   r   Nr   )
isinstancer)   r.   r/   r1   r2   metadata_dictr   splitr   r
   r   r   summaryr'   )r;   bsbackend_pathrA   r
   package_argsr   r   r   handle_flit_thyself^   s$   



rK   c                   C   s   t t tdS )z0
    Return build-backend mapping for flit.
    )zflit.buildapizflit_core.buildapizflit_core.build_thyself)rB   rK   r   r   r   r   get_handlerss   s   rL   )
__future__r   
setuptoolsr   collectionsr   r1   os.pathosr.   pyproject2setuppy.commonr   r   pyproject2setuppy.pep621r   rB   rK   rL   r   r   r   r   <module>   s   J