3 ”Reö ã @ s` d Z ddlmZ ddlmZ ddlZddlZddlZddlmZ ddl Z ddl Z ddlZddlZej d dkr€dd„ Zd d „ Zndd„ Zdd „ ZG d d„ deƒZG dd„ deƒZG dd„ deƒZdd„ Zdd„ Zdd„ Zdd„ ZdZdd„ Zdd„ Zd d!„ Zd/d"d#„Zd$d%„ ZG d&d'„ d'eƒZG d(d)„ d)eƒZd*d+„ Z ddd#d%d+hZ!d,d-„ Z"e#d.k�r\e"ƒ dS )0ag This is invoked in a subprocess to call the build backend hooks. It expects: - Command line args: hook_name, control_dir - Environment variables: PEP517_BUILD_BACKEND=entry.point:spec PEP517_BACKEND_PATH=paths (separated with os.pathsep) - control_dir/input.json: - {"kwargs": {...}} Results: - control_dir/output.json - {"return_val": ...} é )Úglob)Ú import_moduleN)Újoiné c K s. t |ddd��}tj| |f|Ž W d Q R X d S )NÚwzutf-8)Úencoding)ÚopenÚjsonÚdump)ÚobjÚpathÚkwargsÚf© r ú�/builddir/build/BUILDROOT/alt-python36-pip-20.2.4-5.el8.x86_64/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/pep517/_in_process.pyÚ write_json! s r c C s$ t | ddd��}tj|ƒS Q R X d S )NÚrzutf-8)r )r r Úload)r r r r r Ú read_json% s r c K s2 t |dƒ�}tj| |fddi|—Ž W d Q R X d S )NÚwbr zutf-8)r r r )r r r r r r r r + s c C s t | dƒ�}tj|ƒS Q R X d S )NÚrb)r r r )r r r r r r / s c @ s e Zd ZdZdd„ ZdS )ÚBackendUnavailablez&Raised if we cannot import the backendc C s || _ d S )N)Ú traceback)Úselfr r r r Ú__init__6 s zBackendUnavailable.__init__N)Ú__name__Ú __module__Ú__qualname__Ú__doc__r r r r r r 4 s r c @ s e Zd ZdZdd„ ZdS )ÚBackendInvalidz Raised if the backend is invalidc C s || _ d S )N)Úmessage)r r r r r r <