Python error. I don't understand what I'm doing wrong

httplib, json, python, terminal

Solution

The clue is here:

UnboundLocalError: local variable 'token' referenced before assignment

You need to declare `token` as a global:

def get(url):
    global token
    ...

You might also want to consider avoiding global variables as they are generally regarded as a bad practice.

Problem

I'm so lost as to what I'm doing wrong... I've searched the net for a few hours now, tried to reformat my code a bunch, and now I just feel stuck. This is my code: ``` import httplib import json urlBase = 'amoeba.im' token = False username = raw_input('Username? ') connection = httplib.HTTPConnection(urlBase) def get(url): connection.request("GET", url) response = connection.getresponse() print response.status, response.reason print response.read(); if token == False: token = response.read() token = token.split('"token":"')[1] token = token.split('","')[0] print token get('/api/login?username=' + username) get('/api/rooms/join?room=#lobby&token=' + token) get('/api/postmessage?message=hello%20world&token=' + token) connection.close() ``` Here's the terminal output: ``` Tyler-Keohanes-MacBook-Pro:~ tylerkeohane$ clear && '/usr/bin/pythonw' '/Users/tylerkeohane/Desktop/chatbot.py' Username? TgwizBot 200 OK {"success":true,"username":"TgwizBot","token":"103f6a2809eafb6","users":[{"username":"razerwolf","seen":1338582178260},{"username":"tonynoname","seen":1338582178028},{"username":"arrum","seen":1338582177804},{"username":"Valerio","seen":1338582177504},{"username":"Tgwizman","seen":1338582177258},{"username":"tonynoname2","seen":1338582178004},{"username":"TgwizBot","seen":1338582182219}],"time":1338582182219} Traceback (most recent call last): File "/Users/tylerkeohane/Desktop/chatbot.py", line 21, in <module> get('/api/login?username=' + username) File "/Users/tylerkeohane/Desktop/chatbot.py", line 15, in get if token == False: UnboundLocalError: local variable 'token' referenced before assignment Tyler-Keohanes-MacBook-Pro:~ tylerkeohane$ ``` Can anyone help? :(

Original source

Related problems