title: 'classobj' object is not subscriptable
body: <p>I get the following error while calling a class-method using <code>self.methodname()</code> from inside another class method. </p>
  
  <pre><code>TypeError: 'classobj' object is not subscriptable
  </code></pre>
  
  <p>What could the problem be? Other methods are running fine except this one.
  code details are</p>
  
  <pre><code>class loadbalancer:
      def __init__(self):
          #somecode
      def upload_config(self,loadbalancer_doc)
          #some code
      def create_loadbalancer(self,loadbalancer_doc)
          self.upload_config(loadbalancer_doc)#trace back shows here i get this error
  </code></pre>
  
  <p>here is the <code>upload_config</code> method:</p>
  
  <pre><code>def upload_config(self,loadbalancer_doc):
      no_of_ports=len(loadbalancer_doc['frontend_ports'])    
      loadbalancer_config=''
      for i in range(0, no_of_ports):
          servers=''
          for server_uuid in loadbalancer_doc['backend_servers']:
              ip='192.168.1.1'
              server_id=self.vms_collection.find_one({'_id':server_uuid}, {'id':1})['id']
              servers=servers+'\tserver '+server_id+' '+ip+':'+loadbalancer_doc['backend_ports'][i]\
                      +' check port '+loadbalancer_doc['check_port']+' inter '+loadbalancer_doc['check_interval']+'\n'
          loadbalancer_config=loadbalancer_config+'listen '+loadbalancer_doc['_id']+\
                              str(i)+'\n\tbind '+loadbalancer_doc['frontend_ip']+':'+loadbalancer_doc['frontend_ports'][i]\
                              +'\n\toption '+loadbalancer_doc['check_protocol']+' '+loadbalancer_doc['check_protocol_param']+'\n'+servers+'\n'
  
      with open(LOCAL_DIR+loadbalancer_doc['_id'], 'w') as f:
          f.write(loadbalancer_config)
      try:    
          filenames=self.loadbalancer_collection.find({'destroyed_time':0})
      except Exception,err:
          os.remove(LOCAL_DIR+loadbalancer['_id'])
          raise(err)
      if not(filenames):
          os.remove(LOCAL_DIR+loadbalancer['_id'])
          raise Exception('no cursor returned')
      configfiles=''
      for file in filenames:
          configfiles=configfiles+' -f '+REMOTE_CONFIG_FILE+file['_id']
  
      try:
          self._put_file(LOCAL_DIR+loadbalancer_doc['_id'],REMOTE_CONFIG_FILE+loadbalancer_doc['_id'])
      except Exception,err:
          os.remove(LOCAL_DIR+loadbalancer['_id'])
          raise Exception('copying config file to remote server failed'+str(err))
  
      try:
          self._exec_command('haproxy'+\
                                     ' -f /etc/haproxy/haproxy.cfg'+configfiles+\
                                     ' -p /var/run/haproxy.pid -sf $(cat /var/run/haproxy.pid)')
      except Exception,err:
          os.remove(LOCAL_DIR+loadbalancer['_id'])
          #command_op=commands.getstatusoutput('ssh -i '+SSH_KEYFILE+' '+SSH_LOGIN+' rm '+REMOTE_CONFIG_FILE+loadbalancer_doc['_id'])
          raise Exception('haproxy restart failed, err: '+str(err))
  </code></pre>