colorramps = re.split("#ramp\[([0-9a-fA-F]{6})\](.+?)#rampend\[([0-9a-fA-F]{6})\]", message)
colorramps.reverse()
if len(colorramps) > 1:
starttext = colorramps.pop()
starttext = starttext.replace("$message", getSaveString(text))
starttext = starttext.replace("$playername", getSaveString(username), 1)
complete = [starttext]
while len(colorramps):
startcolor = getColor(colorramps.pop())
colors = filter(None, re.split("#over\[([0-9a-fA-F]{6})\]", colorramps.pop()))
middletxt = colors.pop()
endcolor = getColor(colorramps.pop())
middletxt = middletxt.replace("$message", getSaveString(text))
middletxt = middletxt.replace("$playername", getSaveString(username), 1)
middletxt = middletxt.decode("utf")
if len(colors) > 0:
colors = map(getColor, colors)
colors.append(endcolor)
middletxt = rangeOverColors(middletxt, startcolor, colors)
else:
middletxt = getRangeString(middletxt, startcolor, endcolor)
middletxt = middletxt.encode("utf")
complete.append(middletxt)
endtext = colorramps.pop()
endtext = endtext.replace("$message", getSaveString(text))
endtext = endtext.replace("$playername", getSaveString(username), 1)
complete.append(endtext)
message = "".join(complete)
else:
message = message.replace("$message", getSaveString(text))
message = message.replace("$playername", getSaveString(username), 1)
return message
Hello guys! Im getting in line 128, in replaceColorRamps middletxt = colors.pop()
AttributeError: 'filter' object has no attribute 'pop'
I used this code for python 2.5 and now im porting it to 3.4..
Can someone help me
Are you running this in Python 3?
In Python 2.7 filter() returned a list, which has .pop() function.
In Python 3.x filter() returns a filter iterable object which does not.
Before you can .pop() from the filter in Python 3 you need to convert it to a list. So add e.g.
colors = list(colors)
after the colors = filter(...) line. In Python 2.7 this will have no effect, so your code will continue to work there. See this question for more information and these docs.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With