projects
/
tabakrolletjie.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Proper __hash__ and __eq__ for transforms.
[tabakrolletjie.git]
/
tabakrolletjie
/
transforms.py
diff --git
a/tabakrolletjie/transforms.py
b/tabakrolletjie/transforms.py
index 70ff036160618b51c2c5cd3651310172a23f6a36..c5eb05f64e7d85739910eb2f89e1e4f428095070 100644
(file)
--- 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
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
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")
def apply(self, surface):
raise NotImplementedError("Transforms should implement .apply")