X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=tabakrolletjie%2Ftransforms.py;h=c5eb05f64e7d85739910eb2f89e1e4f428095070;hb=68bffb19c42c6b325c75f11b83405701ce9ea761;hp=70ff036160618b51c2c5cd3651310172a23f6a36;hpb=34bf27ff5767c844cecd4f80d89a8d5d928efdfd;p=tabakrolletjie.git diff --git a/tabakrolletjie/transforms.py b/tabakrolletjie/transforms.py index 70ff036..c5eb05f 100644 --- a/tabakrolletjie/transforms.py +++ b/tabakrolletjie/transforms.py @@ -11,11 +11,22 @@ class Transform(object): for k in self.ARGS: setattr(self, k, kw.pop(k)) assert not kw - self.hash = "%s: <%s>" % ( + self._repr = "%s: <%s>" % ( self.__class__.__name__, ", ".join("%s=%s" % (k, getattr(self, k)) for k in self.ARGS)) return + def __repr__(self): + return self._repr + + def __hash__(self): + return hash(self._repr) + + def __eq__(self, other): + if not isinstance(other, Transform): + return NotImplemented + return self._repr == other._repr + def apply(self, surface): raise NotImplementedError("Transforms should implement .apply")