"""`validate` processor."""
from os.path import basename
from ..lib.i18n import _
from ..lib.processor import Processor
# =============================================================================
[docs]class ProcessorValidate(Processor):
"""Class to manage the processor `validate`."""
# -------------------------------------------------------------------------
[docs] def run(self, pbuild):
"""Execute the processor build.
:type pbuild: .lib.pbuild.PBuild
:param pbuild:
Current processor build object.
"""
if not pbuild.files:
return
# Loop over input file
step = pbuild.steps[0]
for num, input_file in enumerate(pbuild.files):
for pbuild.current in pbuild.currents(input_file):
pbuild.progress_file(increase=pbuild.current['step_delta'])
pbuild.progress_step(0, 1)
error = self._step.check(pbuild, step)
pbuild.progress_step(increase=1)
if error is not None:
pbuild.error(error)
else:
pbuild.info(_('${f} is valid', {
'f': basename(pbuild.current['fup'])}))
if not pbuild.current_reset():
break
pbuild.progress_file(current=num + 1)
pbuild.progress_save()
if pbuild.aborted():
break