Ë
    JæÂe·
  ã                   óˆ   — d Z ddlZddlZddlZddlZddlmZ ddlmZ ddl	m
Z
 ddlmZ  ej                  e«      Zd„ Zd„ Zy)	z
Plugin dependency solver.
é    N)ÚSpyderAPIError)ÚPlugins)Úget_class_values)ÚSTDERRc                  óx  — i } t        t        j                  d«      «      }t        t        «      }|D ]S  }|j
                  }||vrŒ|j                  d   }t        j                  |j                  «      }t        ||d«      }|| |<   ŒU t        | j                  «       «      D 	ci c]  \  }}	||	“Œ
 } }}	| S c c}	}w )zA
    Find internal plugins based on setuptools entry points.
    úspyder.pluginsr   N)ÚlistÚpkg_resourcesÚiter_entry_pointsr   r   ÚnameÚattrsÚ	importlibÚimport_moduleÚmodule_nameÚgetattrÚsortedÚitems)
Úinternal_pluginsÚentry_pointsÚinternal_namesÚentry_pointr   Ú
class_nameÚmodÚplugin_classÚkeyÚvalues
             ú9/usr/lib/python3/dist-packages/spyder/app/find_plugins.pyÚfind_internal_pluginsr      sÏ   € ð Ðäœ×7Ñ7Ð8HÓIÓJ€LÜ%¤gÓ.€Nà#ò .ˆØ×ÑˆØ~Ñ%Øà ×&Ñ& qÑ)ˆ
Ü×%Ñ% k×&=Ñ&=Ó>ˆÜ˜s J°Ó5ˆØ!-Ð˜Òð.ô &,Ð,<×,BÑ,BÓ,DÓ%E÷Ù!s˜EˆˆU‰
ðÐñ ð Ðùó	s   Â$B6c            	      ó¸  — t        t        «      } t        t        j                  d«      «      }i }|D ]Ï  }|j
                  }|| vsŒ	 |j                  d   }t        j                  |j                  «      }t        ||d«      }|j                  |_        |j                  j                  |_        |j                  j                  |_        |||<   ||j"                  k7  r%t%        dj'                  ||j"                  «      «      ‚ŒÑ |S # t(        t*        f$ rD}t-        |›dt/        |«      ›t0        ¬«       t3        j4                  t0        ¬«       Y d}~Œ"d}~ww xY w)zK
    Find available external plugins based on setuptools entry points.
    r   r   Nz:Entry point name '{0}' and plugin.NAME '{1}' do not match!z: )Úfile)r   r   r	   r
   r   r   r   r   r   r   r   Ú_spyder_module_nameÚdistÚproject_nameÚ_spyder_package_nameÚversionÚ_spyder_versionÚNAMEr   ÚformatÚModuleNotFoundErrorÚImportErrorÚprintÚstrr   Ú	tracebackÚ	print_exc)	r   ÚpluginsÚexternal_pluginsr   r   r   r   r   Úerrors	            r   Úfind_external_pluginsr2   6   sE  € ô &¤gÓ.€NÜ”=×2Ñ2Ð3CÓDÓE€GØÐàò 1ˆØ×ÑˆØ~Ò%ð1Ø(×.Ñ.¨qÑ1
Ü×-Ñ-¨k×.EÑ.EÓFÜ& s¨J¸Ó=ð 4?×3JÑ3JÔ0à×$Ñ$×1Ñ1ð Ô1à/:×/?Ñ/?×/GÑ/GÔ,à)5Ð  Ñ&Ø˜<×,Ñ,Ò,Ü(ð(ß(.©¨t°\×5FÑ5FÓ(Góð ð -ð1ð0 Ðøô	 (¬Ð5ò 1Ü¢$¬¨E¬
Ð3¼&ÕAÜ×#Ñ#¬×0Ó0ûð1ús   ÁB;DÄEÄ9EÅE)Ú__doc__r   Úloggingr-   r
   Úspyder.api.exceptionsr   Úspyder.api.pluginsr   Úspyder.api.utilsr   Úspyder.config.baser   Ú	getLoggerÚ__name__Úloggerr   r2   © ó    r   ú<module>r>      sB   ðñó Û Û ã å 0Ý &Ý -Ý %ð 
ˆ×	Ñ	˜8Ó	$€òó: r=   