except TypeError:
pass
return [value]
+# vim: set sts=4 sw=4 expandtab:
+
+"""
+Decarator that catches any exception raised by the decorated function,
+prints it to stdout and raises it again.
+"""
+def log_error(func):
+ def show(*args, **kwargs):
+ try:
+ return func(*args, **kwargs)
+ except Exception, e:
+ import traceback
+ traceback.print_exc()
+ raise e
+ return show
+
+def make_choices(objects):
+ """
+ Transforms a list (or iteratable) of model objects to a list
+ suitable to be used as a list of choices in form widgets like
+ Select.
+
+ This fullfills a similar (but simpler) function as
+ django.forms.models.ModelChoiceIterator, but that one requires a
+ FormField and is not public.
+ """
+ return [(o.pk, o) for o in objects]