B ÔÂ_t ã@s^dgZddlZddlZddlZddlZddlZddlZddl Zddl m Z Gdd„de ƒZ dS)ÚILMLicensedSystemCallSolveréN)ÚSystemCallSolverc@s"eZdZdZdd„Zddd„ZdS) rzC A command line solver that launches executables licensed with ILM cKstjjjjj|f|ŽdS)z Constructor N)ÚpyomoÚoptÚsolverÚshellcmdrÚ__init__)ÚselfÚkwds©r ú;/tmp/pip-unpacked-wheel-d4p3hk07/pyomo/opt/solver/ilmcmd.pyrsz$ILMLicensedSystemCallSolver.__init__Fc Cs¤|jr dStjjjj ||¡s"dStj d¡}|r y:|  ¡g}t j dd…dkr\|  d¡t j |¡\}}Wn4t jjk r¢t  ¡d}t j d |¡‚YnXt j ¡xð| d ¡D]â}t d | ¡¡}t|ƒd kr4|dd kr4|ddkr4|dtj dd¡kr4|ddks0|ddks0dSdSt|ƒdkrt|ddkrt|ddkrt|ddkrpdSPqºt|ƒdkrº|ddkrº|d dkrºdSqºWdS)z! True if the solver is available TFZilmlistréÚwinz-batchéz7Could not execute the command: ilmtest Error message: Ú z[ ]+éÚtokensz reserved:éÚUSERNéÚnoneÚ0Ú availableztokens:éÚserverzDOWN.)Z_assert_availablerrrrrrÚcommonZ ExecutableÚpathÚsysÚplatformÚappendÚpyutilibÚ subprocessÚrunZ WindowsErrorÚexc_infoZApplicationErrorÚstdoutÚflushÚsplitÚreÚstripÚlenÚosÚenvironÚget) r Zexception_flagÚ executableÚcmdÚrcÚlogÚmsgÚlinerr r r r s8     B*$z%ILMLicensedSystemCallSolver.availableN)F)Ú__name__Ú __module__Ú __qualname__Ú__doc__rrr r r r rs) Ú__all__r'rr*Z pyomo.commonrZpyutilib.subprocessr Zpyutilib.commonZpyomo.opt.solver.shellcmdrrr r r r Ú s