
    SOg                     D    S SK r S SKrS rS rS rS rS rS rS rS	 r	g)
    Nc                     [         R                  R                  n[        U 5      n U  Vs1 s H
  o!" U5      iM     nnU$ s  snf )z}
helper method to change `paths` to absolute paths.
Returns a `set` object
`paths` can be either a single object or iterable
)ospathabspath
return_set)pathsr   xabsolute_pathss       W/Users/admin/workspace/ai/Jarvis/env/lib/python3.13/site-packages/pluginmanager/util.pyto_absolute_pathsr      s>     ggooGuE*/0%Qgaj%N0 1s   ?c                 ,   U R                  S5      (       a>  [        R                  R                  [        R                  R	                  U 5      5      nU$ [        R                  R                  [        R                  R                  U 5      5      S   nU$ )Nz__init__.pyr   )endswithr   r   basenamedirnamesplitext)filepathnames     r   get_module_namer      sj    ''ww 9: K ww 0 0 :;A>K    c                 t    [        U 5      n [        U5      nU H  nX ;   d  M
  U R                  U5        M     U $ N)return_listremove)listremove_itemsr   s      r   remove_from_listr      s8    tD|,L>KK  Kr   c                 t    [        U 5      n [        U5      nU H  nX ;   d  M
  U R                  U5        M     U $ r   )r   r   )setr   items      r   remove_from_setr    #   s7    
S/Cl+L;JJt  Jr   c                     [        U [        5      (       a  U S   nOU nSR                  U5      nUS-  nSn UR                  US9nU[        R                  ;  a   U$ US-  nM-  )Nr   zpluginmanager_plugin_{}z	_{number}r   )number   )
isinstancedictformatsysmodules)plugin_info_or_namer   module_templater"   module_names        r   create_unique_module_namer,   -   s}     %t,,"6*"/66t<O{"OF
%,,F,;ckk)  	!	 r   c                     / n[         R                  " U 5       HY  n[         R                  R                  X5      n[         R                  R	                  U5      (       d  MH  UR                  U5        M[     U$ r   )r   listdirr   joinisfileappend)dir_path	filepathsfilenamer   s       r   get_filepaths_from_dirr5   A   sU    IJJx(77<<377>>(##X& ) r   c                     [        U [        5      (       a  [        U 5      $ [        U [        5      (       a  [        U 5      $ [        U [        5      (       d  U /$ U $ r   r$   r   r   tupleobjects    r   r   r   J   sI    &#F|	FE	"	"F|%%xr   c                     [        U [        5      (       a  U $ [        U [        [        45      (       a  [        U 5      $ [        U /5      $ r   r7   r9   s    r   r   r   U   s;    &#	FT5M	*	*6{F8}r   )
r   r'   r   r   r   r    r,   r5   r   r    r   r   <module>r=      s3    	 
	(r   