'Removes this page from the public site
:returns: True if this page was successfully unpublished'

def unpublish(self, language):

    if (not self.publisher_is_draft):
        raise PublicIsUnmodifiable('The    public    instance    cannot    be    unpublished.    Use    draft.')
    title = self.title_set.get(language=language)
    public_title = title.publisher_public
    title.published = False
    title.publisher_state = PUBLISHER_STATE_DIRTY
    title.save()
    if hasattr(self, 'title_cache'):
        self.title_cache[language] = title
    public_title.published = False
    public_title.save()
    public_page = self.publisher_public
    public_placeholders = public_page.get_placeholders()
    for pl in public_placeholders:
        pl.cmsplugin_set.filter(language=language).delete()
    public_page.save()
    self.save()
    self.mark_descendants_pending(language)
    from cms.cache import invalidate_cms_page_cache
    invalidate_cms_page_cache()
    from cms.signals import post_unpublish
    post_unpublish.send(sender=Page, instance=self, language=language)
    return True
