#NEWLINE# def _p_uid( self ) : #NEWLINE# #INDENT# 'uid ::= "UID" SPACE (copy / fetch / search / store / expunge)\n\n        a "UID" command is basically a copy, fetch, search, or store command.\n        It is parsed the same way for each of those possibilities. The main\n        difference in how the data is interpreted. For copy, fetch, store\n        the "message set" is interpreted as being UIDs, not message sequence\n        numbers.\n\n        For "search" not only is the message parsed the same way, but it is\n        interpreted the same way. The difference is that the result passed back\n        to the client is in UIDs, not message sequence numbers.\n\n        NOTE: \'UID EXPUNGE\' is part of UIDPLUS (rfc4315) support\n        ' #NEWLINE# self . uid_command = True #NEWLINE# self . _p_simple_string ( ' ' ) #NEWLINE# command = self . _p_re ( _atom_re ) . lower ( ) #NEWLINE# if ( command not in uid_commands ) : #NEWLINE# #INDENT# raise BadSyntax ( ( '%s is not a valid UID command: %s' % ( command , str ( uid_commands ) ) ) ) #NEWLINE# #UNINDENT# self . command = command #NEWLINE# if ( not hasattr ( self , ( '_p_%s' % self . command ) ) ) : #NEWLINE# #INDENT# raise UnknownCommand ( value = self . command ) #NEWLINE# #UNINDENT# getattr ( self , ( '_p_%s' % self . command ) ) ( )