def encipher(self,message):
message = self.remove_punctuation(message)  <EOL>effective_ch = [<NUM_LIT:0>,<NUM_LIT:0>,<NUM_LIT:0>,<NUM_LIT:0>,<NUM_LIT:0>,<NUM_LIT:0>,<NUM_LIT:0>] <EOL>ret = '<STR_LIT>'<EOL>for j in range(len(message)):<EOL><INDENT>shift = <NUM_LIT:0> <EOL>effective_ch[<NUM_LIT:0>] = <NUM_LIT:0>;<EOL>effective_ch[<NUM_LIT:1>] = self.wheel_1_settings[self.actual_key[<NUM_LIT:0>]]<EOL>effective_ch[<NUM_LIT:2>] = self.wheel_2_settings[self.actual_key[<NUM_LIT:1>]]<EOL>effective_ch[<NUM_LIT:3>] = self.wheel_3_settings[self.actual_key[<NUM_LIT:2>]]<EOL>effective_ch[<NUM_LIT:4>] = self.wheel_4_settings[self.actual_key[<NUM_LIT:3>]]<EOL>effective_ch[<NUM_LIT:5>] = self.wheel_5_settings[self.actual_key[<NUM_LIT:4>]]<EOL>effective_ch[<NUM_LIT:6>] = self.wheel_6_settings[self.actual_key[<NUM_LIT:5>]]<EOL>for i in range(<NUM_LIT:0>,<NUM_LIT>): <EOL><INDENT>if effective_ch[self.lug_positions[i][<NUM_LIT:0>]] or effective_ch[self.lug_positions[i][<NUM_LIT:1>]]: shift+=<NUM_LIT:1><EOL><DEDENT>ret += self.subst(message[j],key='<STR_LIT>',offset=-shift); <EOL>self.advance_key();    <EOL><DEDENT>return ret<EOL>
Encipher string using M209 cipher according to initialised key. Punctuation and whitespace
        are removed from the input.       

        Example (continuing from the example above)::

            ciphertext = m.encipher(plaintext)     

        :param string: The string to encipher.
        :returns: The enciphered string.