summaryrefslogtreecommitdiff
path: root/lib/subunit/python/testtools/content_type.py
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2010-01-08 02:09:20 +0100
committerJelmer Vernooij <jelmer@samba.org>2010-01-16 19:53:49 +1300
commit28577aae928847e64a0274b5922e26e1f15d9916 (patch)
tree78f6b36e8166d3320120df0e1bc91fef7ce8f9b1 /lib/subunit/python/testtools/content_type.py
parentb6b46b4978dcaffa0cd9803c43b8a5f1c19e227e (diff)
downloadsamba-28577aae928847e64a0274b5922e26e1f15d9916.tar.gz
samba-28577aae928847e64a0274b5922e26e1f15d9916.tar.bz2
samba-28577aae928847e64a0274b5922e26e1f15d9916.zip
Import testtools as well, required for subunit.
Diffstat (limited to 'lib/subunit/python/testtools/content_type.py')
-rw-r--r--lib/subunit/python/testtools/content_type.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/subunit/python/testtools/content_type.py b/lib/subunit/python/testtools/content_type.py
new file mode 100644
index 0000000000..e70fa76ec8
--- /dev/null
+++ b/lib/subunit/python/testtools/content_type.py
@@ -0,0 +1,30 @@
+# Copyright (c) 2009 Jonathan M. Lange. See LICENSE for details.
+
+"""ContentType - a MIME Content Type."""
+
+
+class ContentType(object):
+ """A content type from http://www.iana.org/assignments/media-types/
+
+ :ivar type: The primary type, e.g. "text" or "application"
+ :ivar subtype: The subtype, e.g. "plain" or "octet-stream"
+ :ivar parameters: A dict of additional parameters specific to the
+ content type.
+ """
+
+ def __init__(self, primary_type, sub_type, parameters=None):
+ """Create a ContentType."""
+ if None in (primary_type, sub_type):
+ raise ValueError("None not permitted in %r, %r" % (
+ primary_type, sub_type))
+ self.type = primary_type
+ self.subtype = sub_type
+ self.parameters = parameters or {}
+
+ def __eq__(self, other):
+ if type(other) != ContentType:
+ return False
+ return self.__dict__ == other.__dict__
+
+ def __repr__(self):
+ return "%s/%s params=%s" % (self.type, self.subtype, self.parameters)