def do_unselect(self, cmd):
        # NOTE: If this client currently has messages being processed in the
        # command queue for this mailbox then they are all tossed when they
        # pre-emptively select another mailbox (this could cause the client
        # some heartburn as commands they issues will never get their final
        # message.. but that is their problem.)
        #
        if self.state != "selected":
            raise No("Client must be in the selected state")

        if self.mbox:
            try:
                self.mbox.unselected(self)
            except MailboxLock:
                pass
            self.mbox = None
        self.pending_expunges = []
        self.state = "authenticated"
        return

    #########################################################################
    #
Nginx-related API is exposed in django_downloadview.nginx.
dataset/ETHPy150Open scanner/asimap/asimap/client.py/Authenticated.do_unselect--crossover with--dataset/ETHPy150Open benoitbryon/django-downloadview/tests/api.py/APITestCase.test_nginx_attributes