summaryrefslogtreecommitdiff
path: root/util.py
diff options
context:
space:
mode:
authorLeonard Richardson <leonard.richardson@canonical.com>2009-04-10 10:30:08 -0400
committerLeonard Richardson <leonard.richardson@canonical.com>2009-04-10 10:30:08 -0400
commitbb77aa085be6c116d0e74b6beaab42b69f691ea4 (patch)
tree4c174d2de2e59f5867933a2a33b28f3180cbb096 /util.py
parent20268a5bc881fc21af089047e03a78870e15d112 (diff)
Big refactoring into multiple files.
Diffstat (limited to 'util.py')
-rw-r--r--util.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/util.py b/util.py
new file mode 100644
index 0000000..693a7e2
--- /dev/null
+++ b/util.py
@@ -0,0 +1,29 @@
+# Helper functions and mixin classes for Beautiful Soup
+
+import types
+try:
+ set
+except NameError:
+ from sets import Set as set
+
+def isList(l):
+ """Convenience method that works with all 2.x versions of Python
+ to determine whether or not something is listlike."""
+ return ((hasattr(l, '__iter__') and not isString(l))
+ or (type(l) in (types.ListType, types.TupleType)))
+
+def isString(s):
+ """Convenience method that works with all 2.x versions of Python
+ to determine whether or not something is stringlike."""
+ try:
+ return isinstance(s, unicode) or isinstance(s, basestring)
+ except NameError:
+ return isinstance(s, str)
+
+def buildSet(args=None):
+ """Turns a list or a string into a set."""
+ if isinstance(args, str):
+ return set([args])
+ if args is None:
+ return set()
+ return set(args)