'Delete a user share (or list of shares) from the database.'

def unshare_with(self, item, user, flush=True):

    if isinstance(user, list):
        return map((lambda user: self.unshare_with(item, user, flush=False)), user)
    user_share_assoc = self.get_share_assocs(item, user=user)[0]
    self.session().delete(user_share_assoc)
    if flush:
        self.session().flush()
    return user_share_assoc
