TypeError("'bool' object is not iterable",) when trying to return a Boolean
bottle, python, python-3.x
Solution
Look at the traceback:
Traceback (most recent call last):
File "C:\Python33\lib\site-packages\bottle.py", line 821, in _cast
out = iter(out)
TypeError: 'bool' object is not iterable
Your code isn't iterating the value, but the code receiving it is.
The solution is: return an iterable. I suggest that you either convert the bool to a string (`str(False)`) or enclose it in a tuple (`(False,)`).
Always read the traceback: it's correct, and it's helpful.
Problem
I am having a strange problem. I have a method that returns a boolean. In turn I need the result of that function returned again since I cant directly call the method from the front-end. Here's my code: ``` # this uses bottle py framework and should return a value to the html front-end @get('/create/additive/<name>') def createAdditive(name): return pump.createAdditive(name) def createAdditive(self, name): additiveInsertQuery = """ INSERT INTO additives SET name = '""" + name + """'""" try: self.cursor.execute(additiveInsertQuery) self.db.commit() return True except: self.db.rollback() return False ``` This throws an exception: TypeError("'bool' object is not iterable",) I don't get this error at all since I am not attempting to "iterate" the bool value, only to return it. If I return a string instead of boolean or int it works as expected. What could be an issue here? Traceback: ``` Traceback (most recent call last): File "C:\Python33\lib\site-packages\bottle.py", line 821, in _cast out = iter(out) TypeError: 'bool' object is not iterable ```