Python undefined function from an each loop
===

I'm a complete python n00b here and just trying to mash a few bits together to make a project work but i'm struggling with some of the syntax i think.

Here is my script i have so far:

    #!/usr/bin/env python
    
    from plugin import *
    from siriObjects.systemObjects import ResultCallback
    import uuid
    import json
    import random
    import types
    import urllib
    import urllib2
    import random
    import re
    import select
    import socket
    import struct
    import sys
    import thread
    import time
    
    class tivoRemote(Plugin):
    
            tivo_address = '192.168.0.9'
            tivo_name = ''
            tivo_swversions = {}
            have_zc = True
            captions_on = False
            sock = None
            outer = None
    
    
            def connect():
                """ Connect to the TiVo within five seconds or report error. """
                global sock
                try:
                    sock = socket.socket()
                    sock.settimeout(5)
                    sock.connect((tivo_address, 31339))
                    sock.settimeout(None)
                except Exception, msg:
                    msg = 'Could not connect to %s:\n%s' % (tivo_name, msg)
                    print(msg)
    
            def send(message):
                """ The core output function, called from irsend(). Re-connect if
                    necessary (including restarting the status_update thread), send
                    message, sleep, and check for errors.
                    """
    
                if not sock:
                    self.connect()
                    thread.start_new_thread(status_update, ())
                try:
                    sock.sendall(message)
                    time.sleep(0.1)
                except Exception, msg:
                    error_window(str(msg))
    
    
            def irsend(*codes):
                """ Expand a command sequence for send(). """
                for each in codes:
                    self.send('IRCODE %s\r' % each)
    
    
            @register("en-US", ".*Change.*Channel.*")
            def channelChanger(self, speech, language, matchedRegex):
                    if language == 'en-US':
                            answer = self.ask(u"Which channel would you like?")
                            self.say(u"Ok, one moment..".format(answer))
                            self.connect()
                            self.irsend(answer)
                    self.complete_request()


and the error i'm getting is:

    Traceback (most recent call last):
      File "/home/pi/SiriServerCore/plugin.py", line 150, in run
        self.__method(self, self.__speech, self.__lang,        self.__method.__dict__[__criteria_key__][self.__lang].match(self.__speech))
      File "/home/pi/SiriServerCore/plugins/tivoRemote/__init__.py", line 70, in     channelChanger
        self.irsend(format(answer))
      File "/home/pi/SiriServerCore/plugins/tivoRemote/__init__.py", line 61, in irsend
        self.send('IRCODE %s\r' % each)


If i remove the 'self.' i get the same error but saying 'send' is not defined.

Thanks in advance for any help :)
Ryan