Allow Unicode strings as message and module name.
diff --git a/Lib/warnings.py b/Lib/warnings.py
index a74e1ba..16ae331 100644
--- a/Lib/warnings.py
+++ b/Lib/warnings.py
@@ -128,10 +128,10 @@
     Use assertions to check that all arguments have the right type."""
     assert action in ("error", "ignore", "always", "default", "module",
                       "once"), "invalid action: %s" % `action`
-    assert isinstance(message, str), "message must be a string"
+    assert isinstance(message, basestring), "message must be a string"
     assert isinstance(category, types.ClassType), "category must be a class"
     assert issubclass(category, Warning), "category must be a Warning subclass"
-    assert isinstance(module, str), "module must be a string"
+    assert isinstance(module, basestring), "module must be a string"
     assert isinstance(lineno, int) and lineno >= 0, \
            "lineno must be an int >= 0"
     item = (action, re.compile(message, re.I), category,