File: //usr/lib/python3/dist-packages/hgext/largefiles/__pycache__/storefactory.cpython-310.pyc
o
�]Lb�
� @ s� d dl mZ d dlZd dlmZ d dlmZ d dlmZm Z m
Z
d dlmZ ddl
mZmZmZ dd
d�Zejgejgejgejgd�Ze�d
�Zdd� ZdS )� )�absolute_importN)�_)�getattr)�error�hg�util)�urlutil� )�lfutil�
localstore� wirestoreFc C s\ |d u r| j }|sWt| dd �}|rt�d| ||�}n
t�d| ||�\}}| d u r<t�d| |d�\}}t�| p7|i |�}n|dksD|dkrG| }nt�|�\}}t�| pS|i |�}t� |d�ra|�
� pc|j}t�
|�}|snd}n|�d�}zt| } W n ty� t�td �| ��w | D ]}
z |
|| |�W S tjy� Y q�w t�td
�t�|� ��)N�lfpullsources lfpullsources lfss defaults default-pushs url� filer s unsupported URL scheme %rs* %s does not appear to be a largefile store)�uir r �get_unique_push_path�get_unique_pull_pathr �peer�parseurlr �safehasattr�url�path�
_scheme_re�match�group�_storeprovider�KeyErrorr �Abortr r
�storeprotonotcapable�hidepassword)�repo�remote�putr r
r � _branchesr �scheme�storeproviders�classobj� r&