Michal Suchanek 979604
#!/usr/bin/env python3
Michal Suchanek 979604
# vim: sw=4 ts=4 et si:
Jeff Mahoney 89f2a2
Jeff Mahoney 89f2a2
import sys
Jeff Mahoney 89f2a2
Jeff Mahoney 89f2a2
class ValidationError(Exception):
Jeff Mahoney 89f2a2
    pass
Jeff Mahoney 89f2a2
Jeff Mahoney 89f2a2
class PatchException(Exception):
Jeff Mahoney 89f2a2
    def __init__(self, errors):
Jeff Mahoney 89f2a2
        Exception.__init__(self, "Validation Error")
Jeff Mahoney 89f2a2
        self._errors = errors
Jeff Mahoney 89f2a2
Jeff Mahoney 89f2a2
    def errors(self, error=None):
Jeff Mahoney 89f2a2
        count = 0
Jeff Mahoney 89f2a2
        if error is None:
Jeff Mahoney 89f2a2
            return len(self._errors)
Jeff Mahoney 89f2a2
        for err in self._errors:
Jeff Mahoney 89f2a2
            if isinstance(err, error):
Jeff Mahoney 89f2a2
                count += 1
Jeff Mahoney 89f2a2
        return count
Jeff Mahoney 89f2a2
Jeff Mahoney 89f2a2
    def __str__(self):
Jeff Mahoney 89f2a2
        return "\n".join("** %s" % str(x) for x in self._errors)
Jeff Mahoney 89f2a2
Jeff Mahoney 89f2a2
    def __repr__(self):
Jeff Mahoney 89f2a2
        ret = "%d errors:\n" % len(self._errors)
Jeff Mahoney 89f2a2
        ret += "\n".join(self._errors)
Jeff Mahoney 89f2a2
        return ret
Jeff Mahoney 89f2a2
Jeff Mahoney 89f2a2
    def error_message(self, fn):
Jeff Mahoney 89f2a2
        ret = "ERROR: Problems encountered in "
Jeff Mahoney 89f2a2
        if fn:
Jeff Mahoney 89f2a2
            ret += "`%s'\n" % fn
Jeff Mahoney 89f2a2
        else:
Jeff Mahoney 89f2a2
            ret += "input\n"
Jeff Mahoney 89f2a2
Jeff Mahoney 89f2a2
        ret += str(self)
Jeff Mahoney 89f2a2
Jeff Mahoney 89f2a2
        return ret
Jeff Mahoney 89f2a2
Jeff Mahoney 89f2a2
class PatchChecker:
Jeff Mahoney 89f2a2
    def __init__(self):
Jeff Mahoney 89f2a2
        pass
Jeff Mahoney 89f2a2
Jeff Mahoney 89f2a2
    def do_patch(self):
Jeff Mahoney 89f2a2
        pass