B _8 @sPddlZddlmZmZmZddlmZmZGdddeZ GdddeZ dS)N) InterfacePlugin implements)ExecutableOptiondeclare_optionc@seZdZdZddZdS)IExternalExecutablez8Interface for plugins that define an external executablecCsdS)z3Returns a string that is the path of the executableN)selfrrM/tmp/pip-unpacked-wheel-c5cl1q8n/pyutilib/component/executables/executable.pyget_pathszIExternalExecutable.get_pathN)__name__ __module__ __qualname____doc__r rrrr rsrc@s8eZdZeeddddZddZddZd d Zd S) ExternalExecutableT)ZservicecKsd|kr|d|_nd|_d|krH|d|_t|dddd|jtdntdd|krd|d|_nd|_d |kr~|d |_nd|_|dS) Ndocname executableZ executables)Z local_namesectiondefaultrclsz%An ExternalExectuable requires a namepathvalidate)Zexec_docrrrZ PluginErrorrrfind_executable)r kwdsrrr __init__s(     zExternalExecutable.__init__cCs6|jdk r|j|_ntjj|jtjjd|jd|_dS)NT)Z implicitExtrr)r exec_defaultpyutilibmiscZ search_filerZexecutable_extensionr)r rrr r4s  z"ExternalExecutable.find_executablecCs|jo|jdk p|jdk S)N)Z_enablerr)r rrr enabled>szExternalExecutable.enabledcCs$|s dS|j}|dkr |jS|S)N)r rr)r tmprrr r Bs zExternalExecutable.get_pathN) r r rrrrrr r rrrr rs   r) Z pyutilib.miscrZpyutilib.component.corerrrZpyutilib.component.configrrrrrrrr  s