'True if the app is not disabled and the status is either STATUS_PUBLIC
or STATUS_UNLISTED.
Both statuses are "public" in that they should result in a 200 to the
app detail page.'

def is_public(self):

    return ((not self.disabled_by_user) and (self.status in (mkt.STATUS_PUBLIC, mkt.STATUS_UNLISTED)))
