o
    QD©i¡  ã                   @  sx   d dl mZ d dlZd dlmZmZ ddlmZ ddlm	Z	 ddl
mZ er2dd	lmZ dd
lmZ G dd„ deƒZdS )é    )ÚannotationsN)ÚTYPE_CHECKINGÚOptionalé   )ÚPluginé   ©ÚStreamControl)ÚStreamLoader)ÚResource)ÚLoaderc                   @  s0   e Zd ZdZddd„Zddd	„Zdddd„Zd
S )ÚStreamPluginzPlugin for Stream DataÚresourcer   ÚreturnúOptional[Loader]c                 C  s   |j dkr	t|ƒS d S ©NÚstream)Úschemer
   ©Úselfr   © r   ú[/var/www/Datamplify/venv/lib/python3.10/site-packages/frictionless/schemes/stream/plugin.pyÚcreate_loader   s   
ÿzStreamPlugin.create_loaderc                 C  sF   |j d urt|j dƒrd|_d S d S |jdkr!t t ¡ ¡|_ d S d S )NÚreadr   )ÚdataÚhasattrr   ÚioÚBufferedRandomÚBytesIOr   r   r   r   Údetect_resource   s   

ÿ
ÿzStreamPlugin.detect_resourceNÚtypeúOptional[str]c                 C  s   |dkrt S d S r   r   )r   r    r   r   r   Úselect_control_class   s   ÿz!StreamPlugin.select_control_class)r   r   r   r   )r   r   )N)r    r!   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r"   r   r   r   r   r      s
    

r   )Ú
__future__r   r   Útypingr   r   Úsystemr   Úcontrolr	   Úloaderr
   r   r   r   r   r   r   r   r   Ú<module>   s    