+
     [;i  c                   sn    ^ RI Ht ^ RIHt ^ RIHt ^ RIHt ^ RIH	t	  ! R R]
4      t ! R R	]
4      tR
# )i    )Tracer)System)Rules)Applications)dump_memoryc                   sF   a  ] tR t^t o Rt]3R ltR tR tRR lt	Rt
V tR# )	QueryaW  
Provide API for Tracer querying operations.
They are executed kind of lazily, so running the operation will
return just an wrapper class with ``get()`` method.

Example::

        from tracer.query import Query
        q = Query()
        q.affected_applications().get()

.. note::
        Some querying methods can require root permissions

c                sd    V! \         P                  ! 4       \        \        \        4      V n        R # N)r   Zpackage_managerr   r   r   _tracer)selfZtracer   &&1/usr/lib/python3.14/site-packages/tracer/query.py__init__ZQuery.__init__+   s    ..0%{S$,    c                s&    WP                   n        V # )z.List of ``Package`` that only should be traced)r   Zspecified_packages)r   Zpackagesr	   r
   from_packagesZQuery.from_packages.   s    $,,,!	+r   c                s(    RV P                   n        V # )z
Pretend that specified packages have been updated just now.
Benefit of this is absolutely no need for openning the package history database
T)r   nowr      &r
   r   Z	Query.now3   s    
 $,,	+r   Nc                sF    \        V P                  P                  RV/4      # )z;
Return list of applications which use some outdated files
user)Lazyr   Ztrace_affected)r   r   r	   r
   affected_applicationsZQuery.affected_applications;   s     
dll))FD>	::r   )r   r   )__name__
__module____qualname____firstlineno__Z__doc__r    r   r   r   r   __static_attributes____classdictcell__Z__classdict__   @r
   r   r      s)       " T
; ;r   r   c                   s,   a  ] tR t^Bt o R tR tRtV tR# )r   c                s    Wn         W n        R # r   _method_kwargs)r   ZmethodZkwargss   &&&r
   r   ZLazy.__init__C   s    ,,r   c                s:    V P                   ! R/ V P                  B # )N r   r   r   r
   getZLazy.getG   s    		%	%%r   )r   r   N)r   r   r   r   r   r    r   r   r   r   r
   r   r   B   s     & &r   r   N)Ztracer.resources.tracerr    Ztracer.resources.systemr   Ztracer.resources.rulesr   Ztracer.resources.applicationsr   Ztracer.resources.memoryr   Zobjectr   r   r   r   r
   <module>r!      s/   & + * ( 6 /%;F %;P&6 &r   