<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_published(self):
 """ Return self is this object is published, otherwise return the published copy of a draft item. If this object is a draft with no published copy it will return ``None``. """

        if self.is_published:
            return self
        elif self.is_draft:
            return self.publishing_linked
        raise ValueError(  # pragma: no cover
            "Publishable object %r is neither draft nor published" % self)