def __init__(self, additions=None, deletions=None): """If additions and deletions intersect, a ConflictError will be raised. """ self.additions = [dict(a, bbox=bbox(a)) for a in additions or []] self.additions_made = [] self.deletions = [dict(d, bbox=bbox(d)) for d in deletions or []] self.deletions_made = [] self.no_ops = [] if set([key(a) for a in self.additions]).intersection( set([key(d) for d in self.deletions])): raise ConflictError( "check intersection of additions and deletions in changeset.")
def bbox(self, item): """Return a (minx, miny, maxx, maxy) tuple for the item""" return bbox(item)