+ s = Split(self, user, share)
+ meta.Session.add(s)
+
+ def involves(self, user):
+ "Returns True if ``user`` is involved in this expenditure."
+ return any((split.user == user) and (split.share != 0)
+ for split in self.splits)
+
+ def share(self, user):
+ "Return the share corresponding to ``user``."
+ shares = dict((split.user, split.share)
+ for split in self.splits)
+ return shares.get(user, Currency(0))