o
    l>j                     @  sV   d Z ddlmZ ddlZddlmZmZ ddd	d
Ze ZG dd deZ	dd
gZ
dS )z8Base models and configuration for CloudKit Notes models.    )annotationsN)	BaseModel
ConfigDictforbiddefaultstrreturnc                 C  sH   t dpt dp|   }|dv r|S |dv rdS |dv r"dS | S )z
    Determine the extra-mode from environment vars.

    PYICLOUD_NOTES_EXTRA: allow|forbid|ignore
    (fallback) PYICLOUD_EXTRA: allow|forbid|ignore
    Convenience booleans: "true/1/on" -> forbid (strict), "false/0/off" -> allow
    PYICLOUD_NOTES_EXTRAPYICLOUD_EXTRA>   allowr   ignore>   1onyestruestrictr   >   0noofffalselenientr   )osgetenvstriplower)r   raw r   \/home/thesage/.local/lib/python3.10/site-packages/pyicloud/services/notes/models/_ck_base.py_env_extra_mode
   s   	r   c                   @  s   e Zd ZdZeeddZdS )CKModelz
    Project-wide base model.

    Default is extra='forbid' (strict) for development; switch at runtime by
    setting an env var before import:
      export PYICLOUD_NOTES_EXTRA=allow   # or forbid/ignore
    T)extraarbitrary_types_allowedN)__name__
__module____qualname____doc__r   _EXTRAmodel_configr   r   r   r   r   '   s    
r   )r   )r   r   r   r   )r%   
__future__r   r   pydanticr   r   r   r&   r   __all__r   r   r   r   <module>   s    