
    Dj	                        d Z ddlmZ ddlmZmZ ddlmZmZm	Z	m
Z
 ddlmZmZ d#dZd$dZd%dZd&d'dZddd(dZej        dd)d Zd*d!Zd+d"ZdS ),zGQuery builders for Photos CloudKit indexes observed in the HAR capture.    )annotations)IterableOptional)	CKFVInt64
CKFVStringCKQueryFilterByCKQueryObject   )DirectionEnumListTypeEnum
field_namestrvaluereturnr   c                D    t          d| t          d|                    S )NEQUALSSTRINGtyper   
comparator	fieldName
fieldValue)r   r   r   r   s     d/home/thesage/.hermes/venv/lib/python3.11/site-packages/pyicloud/services/photos_cloudkit/queries.py_string_filterr      s/    85999       intc                D    t          d| t          d|                    S )Nr   INT64r   r   )r   r   r   s     r   _int_filterr!      s/    '777   r   r	   c                 "    t          d          S )z'Return the Photos indexing-state query.CheckIndexingState)
recordType)r	    r   r   check_indexing_state_queryr&   !   s     $89999r   N	parent_id
str | Nonec                N    d}| rt          d|           g}t          d|          S )z&Return the album/folder listing query.NparentIdCPLAlbumByPositionLiver$   filterBy)r   r	   )r'   	filter_bys     r   album_queryr/   '   s7     /3I <#J	::;	$<yQQQQr   )extra_filters	list_typer   	directionr   offsetr0   #Optional[Iterable[CKQueryFilterBy]]c                    t          d|j                  t          d|          g}|r"|                    t	          |                     t          | j        |          S )zReturn an asset listing query.r2   	startRankr,   )r   r   r!   extendlistr	   )r1   r2   r3   r0   filterss        r   
list_queryr:   0   s`     	{IO44K((&G  ,tM**+++IOgFFFFr   )r2   photo_idc           	     F    t          | |dt          d|          g          S )z7Return a single-photo lookup query within a list index.r   
recordName)r1   r2   r3   r0   )r:   r   )r1   r;   r2   s      r   photo_lookup_queryr>   B   s4     %lH==>	   r   c                "    t          d|           S )z'Return the smart-album selector filter.
smartAlbumr   )r   s    r   smart_album_filterrB   R   s     ,...r   c                "    t          d|           S )z#Return a parent-id selector filter.r*   rA   )r'   s    r   parent_filterrD   X   s     *i000r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r	   )N)r'   r(   r   r	   )
r1   r   r2   r   r3   r   r0   r4   r   r	   )r1   r   r;   r   r2   r   r   r	   )r   r   r   r   )r'   r   r   r   )__doc__
__future__r   typingr   r   pyicloud.common.cloudkitr   r   r   r	   	constantsr   r   r   r!   r&   r/   r:   	ASCENDINGr>   rB   rD   r%   r   r   <module>rK      sf   M M " " " " " " % % % % % % % %            3 2 2 2 2 2 2 2      : : : :R R R R R :>G G G G G G,  -6	      / / / /1 1 1 1 1 1r   