Note that there are some explanatory texts on larger screens.

plurals
  1. PO'classobj' object is not subscriptable
    primarykey
    data
    text
    <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>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload