Home > projects > Bug in myListBoard.Com tags

Bug in myListBoard.Com tags

July 30th, 2009

I found a bug in the tagging feature of myListBoard.com.  The bug manifests as you create a new list using a tag that has been used for more than 6 or more times in your other lists.

Request Method: GET
Request URL: http://localhost:8000/users/cy/
Exception Type: TemplateSyntaxError
Exception Value: Caught an exception while rendering: invalid literal for int() with base 10: ”
Exception Location: /usr/local/lib/python2.6/dist-packages/django/template/debug.py in render_node, line 81
Python Executable: /usr/bin/python

Here is the code in my template that causes the error:

<a class="tagcloud" style="font-size: {{ tag.font_size|add:"12" href="/users/{{ userviewed }}/lists/tagged/{{ tag.name }}/">{{ tag.name }}</a>

The culprit in the above code is the statement: {{ tag.font_size|add:"12" }}, the font_size property of the tag object doesn’t seem to return a value that could be safely converted to a number.

I have been using http://code.google.com/p/django-tagging/ to implement tagging in myListBoard.com.

I think the problem is with the steps option on the tagging_tags tags of the django-tagging application which defaults to the value of 7. When a list is created using a tag that has been used 6 times, there might some math in the django-tagging application that I didn’t bother to look into.

So being a lazy coder, I instead replaced the culprit code with this:
{{ tag.count|add:"12" }}.

That solved the problem and the tags still grows as the number of usage grows too. After uploading my changes, the site seems to work okay even with many uses of the same tag on a list.

I might be missing something with the use of the font_size property but hey myListBoard.com is already in production, so any quick solution is acceptable at this time. :)

Author: Cyril Pauya Categories: projects Tags: , ,
  1. No comments yet.
  1. No trackbacks yet.