title: NameError: global name 'message' is not defined
body: <p>I am new at python, currently I am working on a GPS tracker with that interacts with Google maps using an Arduino Uno. I am getting this error and it is not letting me run the .py script for my tcpServer this is the whole script. </p>
  
  <p>#!/usr/bin/env python</p>
  
  <pre><code>import socket
  import MySQLdb
  
  TCP_IP = 'my machine IP'
  TCP_PORT = 32000
  BUFFER_SIZE = 40
  
  # ClearDB. Deletes the entire tracking table
  
  def ClearDB(curs,d ):
      curs.execute ("""
          INSERT INTO gmaptracker (lat, lon)
          VALUES (0.0,0.0)""")
      d.commit()
  
  # Connect to the mySQL Database
  
  def tServer():
      try:
  
          db = MySQLdb.connect (host = "my host",
              user = "my user",
              passwd = "my password",
              db = "gmap" )
      except MySQLdb.Error, e:
          print "Error %d: %s" %(e.args[0], e.args[1])
          sys.exit(1);
  
      cursor = db.cursor()
  
      # Start with a fresh tracking table
  
      ClearDB(cursor,db)
  
      # Set up listening Socket
  
      try:
          s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
          s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
          s.bind((TCP_IP, TCP_PORT))
          print "Listening...."
          s.listen(1)
          conn, addr = s.accept()
          print 'Accepted connection from address:', addr
  
      except socket.error (message):
          if s:
              s.close()
              print "Could not open socket: " + message
              cursor.close()
              conn.close()
              db.close()
              sys.exit(1)
  
      try:
          while 1:
              data = conn.recv(BUFFER_SIZE)
              if not data:break
  
              str1,str2 = data.split("Long: ")
              str1 = str1.split("Lat: ")[1]
              latitude = float(str1)
              longitude = float(str2)
              cursor.execute ("""
                  INSERT INTO gmaptracker (lat, lon)
                  VALUES (%s,%s)""", (latitude,longitude))
  
              db.commit()
  
      except KeyboardInterrupt:
          ClearDB(cursor,db);
          cursor.close()
          conn.close()
          db.close()
  
  if __name__ == '__main__':
     tServer()
  </code></pre>
  
  <p>and this is the error that I am getting</p>
  
  <pre><code>Traceback (most recent call last):
   File "tcpServer.py", line 79, in &lt;module&gt;
     tServer()
   File "tcpServer.py", line 48, in tServer
     except socket.error(message):
  NameError: global name 'message' is not defined
  </code></pre>
  
  <p>If anyone can help me figure this out I would greatly appreciate it, as I said I am new at python I am also running python 2.7 if that helps. Thanks in advance</p>