B _@s|ddlZddlZddlZddlTddlTGdddeZGdddeZGdddeZGd d d eZ Gd d d eZ dS) N)*c@seZdZeeddeeZeeZ ddZ ddZ ddZ d d Z d d Zd dZddZddZddZddZddZdddZdS)PyomoModelCheckerT)ZinheritcCsd|_d|_dS)N)_currentRunner_currentScript)selfrA/tmp/pip-unpacked-wheel-d4p3hk07/pyomo/checker/plugins/checker.py__init__szPyomoModelChecker.__init__cCs||_||_x|jD]}||||qWy||||Wn4tk rptd}t| d|YnXx|j D]}| |||qzWd|_d|_dS)NzERROR during check call!) Z_runner_script _prehooksZprecheckcheck Exceptionsysexc_infoprint checkerLabel _posthooksZ postcheck)rrunnerscriptinfoZprehookeZposthookrrr_checks    zPyomoModelChecker._checkcCsdS)Nr)rrrrrrrr 2szPyomoModelChecker.checkcCsF||_||_y|||Wn$tk r@t|dYnXdS)NzERROR during pre-check call!)rr beginCheckingrrr)rrrrrr_beginChecking7s z PyomoModelChecker._beginCheckingcCsdS)Nr)rrrrrrr@szPyomoModelChecker.beginCheckingcCsFy|||Wn$tk r4t|dYnXd|_d|_dS)NzERROR during pre-check call!) endCheckingrrrrr)rrrrrr _endCheckingCs zPyomoModelChecker._endCheckingcCsdS)Nr)rrrrrrrLszPyomoModelChecker.endCheckingcCs&tdt|j}|dddS)Nzr .)researchstr __class__groupsplit)rmatchrrr _checkerNameOszPyomoModelChecker._checkerNamecCs&tdt|j}|dddS)Nzr r)rr r!r"r#r$)rr%rrr_checkerPackageSsz!PyomoModelChecker._checkerPackagecCsd|d|dS)N[z::z] )r(r&)rrrrrWszPyomoModelChecker.checkerLabelcCsdS)Nr)rrrr checkerDocZszPyomoModelChecker.checkerDocErrorNcCs|dkr|j}|dkr|j}|}|dk rV||d7}|dk r^|t|d7}n|d7}|d|7}t|y^|jrt|dkrt | d}t dd|}x|D]}t||qWtWn(t k rt|dtYnXdS) N:z : r cSs t|dkS)Nr)len)xrrrtz+PyomoModelChecker.problem..z$ERROR during verbose info generation)rrrfilenamer!rverboser0r+textwrapdedentr$filterr)rmessagerrlinenooutputlineslinerrrproblem]s.  zPyomoModelChecker.problem)r,NNN)__name__ __module__ __qualname__Z implementsZ IModelCheckerZExtensionPointZ IPreCheckHookr ZIPostCheckHookrr rr rrrrr&r(rr+r>rrrrrs   rc@s eZdZdS)ImmediateDataCheckerN)r?r@rArrrrrB}srBc@s eZdZdS)IterativeDataCheckerN)r?r@rArrrrrCsrCc@s eZdZdS)ImmediateTreeCheckerN)r?r@rArrrrrDsrDc@s eZdZdS)IterativeTreeCheckerN)r?r@rArrrrrEsrE) rrr6Zpyomo.common.pluginZ pyomo.checkerZSingletonPluginrrBrCrDrErrrr sj