a "e1@sxddlmZddlmZddlmZGdddeZGdddeZGdd d eZ Gd d d e Z Gd d d eZ dS))absolute_import) cmp_to_key) NoSuchProcessc@seZdZddZddZdS) CollectioncCs*|D] }t|||kr|||iqdSN)getattrupdate)self attributeZ source_valueZrequired_valueappr @/usr/lib/python3.9/site-packages/tracer/resources/collections.pyreplace_valuesszCollection.replace_valuescs*fdd}fddtt|dS)Ncs@|}|}|sdS|s$dS||kr0dS||kr._sortcs(ttd|rt||St||S)Nr)callabler)r r r r r r6s z!Collection.sorted.._value)key)sortedr)r r rr )rr r r r!s zCollection.sortedN)__name__ __module__ __qualname__rrr r r r rsrc@s<eZdZddZddZddZddZd d Zd d Zd S)ApplicationsCollectioncCstdd|}t|S)NcSs|jSrhelperr r r r Az5ApplicationsCollection.with_helpers..filterrr applicationsr r r with_helpers@sz#ApplicationsCollection.with_helperscCstdd|}t|S)NcSs|j Srrrr r r rErz8ApplicationsCollection.without_helpers..r r"r r r without_helpersDsz&ApplicationsCollection.without_helperscstfdd|}t|S)#app_types -- see Applications.TYPEScs |jvSrtyper app_typesr r rJrz6ApplicationsCollection.exclude_types..r r r*r#r r)r exclude_typesHsz$ApplicationsCollection.exclude_typescstfdd|}t|S)r&cs |jvSrr'rr)r r rOrz5ApplicationsCollection.filter_types..r r+r r)r filter_typesMsz#ApplicationsCollection.filter_typescCs$d}|D]}|j|kr|d7}q|S)Nrrr')r Zapp_typecountZ applicationr r r count_typeRs   z!ApplicationsCollection.count_typecCs tt|Sr)rsetrr r r uniqueYszApplicationsCollection.uniqueN) rrrr$r%r,r-r/r1r r r r r>s rc@s,eZdZddZddZddZddZd S) ProcessesCollectioncss|S|fddS)Ncs |kSr)usernameprocessuserr r rbrz.ProcessesCollection.owned_by..filtered)r r7r r6r owned_by_szProcessesCollection.owned_bycs|fddS)Ncs |kSr)Z create_timer4 timestampr r rerz0ProcessesCollection.newer_than..r8)r r<r r;r newer_thandszProcessesCollection.newer_thanc Cs:t}|D]&}z||Wq ty.Yq 0q t|Sr)r0addrr2)r r1r5r r r r1gs zProcessesCollection.uniquec Cs>t}|D].}z||r"||Wq ty6Yq 0q |Sr)r2appendr)r functionZ processesr5r r r r9nszProcessesCollection.filteredN)rrrr:r=r1r9r r r r r2]sr2c@seZdZddZdS)AffectedProcessesCollectioncCs6|D],}||vr&||||q||qdSr)indexrr?)r iterablexr r r rzsz"AffectedProcessesCollection.updateN)rrrrr r r r rAxsrAc@s4eZdZdZddZddZeddZdd ZdS) PackagesCollectionNcGstj|g|RdSr)list__init__)r argsr r r rGszPackagesCollection.__init__cCs|durtt||S|Sr)rEr0 intersection)r packagesr r r rIszPackagesCollection.intersectioncCs*g}|D]}||j|jqt|Sr)extend_package_managerZ package_filesnamer0)r filespackager r r rNszPackagesCollection.filescCsBi}|D],}|j|vr*||jj|jkr*q|||j<qt|Sr)rMZmodifiedrEvalues)r rJpr r r unique_newests  z PackagesCollection.unique_newest) rrrrLrGrIpropertyrNrRr r r r rEs  rEN) Z __future__r functoolsrZpsutilrrFrrr2rArEr r r r s   %