eaiovnaovbqoebvqoeavibavo 3 "e¼ã@s`ddlmZddlmZddlmZddlmZddlm Z Gdd„de ƒZ Gdd „d e ƒZ d S) é)ÚTracer)ÚSystem)ÚRules)Ú Applications)Ú dump_memoryc@s6eZdZdZefdd„Zdd„Zdd„Zd d d „ZdS) ÚQueryaE 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 cCs|tjƒtttƒ|_dS)N)rZpackage_managerrrrÚ_tracer)ÚselfZtracer©r ú/usr/lib/python3.6/query.pyÚ__init__+szQuery.__init__cCs ||j_|S)z.List of ``Package`` that only should be traced)rZspecified_packages)r Zpackagesr r r Ú from_packages.szQuery.from_packagescCs d|j_|S)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 r r3sz Query.nowNcCst|jjd|iƒS)z? Return list of applications which use some outdated files Úuser)ÚLazyrZtrace_affected)r rr r r Úaffected_applications;szQuery.affected_applications)N) Ú__name__Ú __module__Ú __qualname__Ú__doc__rr r rrr r r r rs  rc@seZdZdd„Zdd„ZdS)rcCs||_||_dS)N)Ú_methodÚ_kwargs)r ÚmethodÚkwargsr r r r Csz Lazy.__init__cCs|jf|jŽS)N)rr)r r r r ÚgetGszLazy.getN)rrrr rr r r r rBsrN) Ztracer.resources.tracerrZtracer.resources.systemrZtracer.resources.rulesrZtracer.resources.applicationsrZtracer.resources.memoryrÚobjectrrr r r r Ús     (