У меня есть немного Python для подключения к базе данных с переключателем для локального и живого.
LOCAL_CONNECTION = {"server": "127.0.0.1", "user": "root", "password": "", "database": "testing"}
LIVE_CONNECTION = {"server": "10.1.1.1", "user": "x", "password": "y", "database": "nottesting"}
if debug_mode:
connection_info = LOCAL_CONNECTION
else:
connnection_info = LIVE_CONNECTION
self.connection = MySQLdb.connect(host = connection_info["server"], user = connection_info["user"], passwd = connection_info["password"], db = connection_info["database"])
Локально работает (Windows, Python 2.5), но работает (Linux, Python 2.4). Я получаю:
UnboundLocalError: local variable 'connection_info' referenced before assignment
Я вижу ту же ошибку, даже если я удаляю if / else и просто присваиваю информацию о соединении напрямую значению LIVE_CONNECTION. Если я жестко закодирую текущие значения соединения в последнюю строку, все это работает. Я явно сонный. Что я не вижу?