summaryrefslogtreecommitdiff
path: root/git/objects/blob.py
diff options
context:
space:
mode:
Diffstat (limited to 'git/objects/blob.py')
-rw-r--r--git/objects/blob.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/git/objects/blob.py b/git/objects/blob.py
new file mode 100644
index 00000000..32f8c61c
--- /dev/null
+++ b/git/objects/blob.py
@@ -0,0 +1,27 @@
+# blob.py
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
+#
+# This module is part of GitPython and is released under
+# the BSD License: http://www.opensource.org/licenses/bsd-license.php
+
+from mimetypes import guess_type
+import base
+
+__all__ = ('Blob', )
+
+class Blob(base.IndexObject):
+ """A Blob encapsulates a git blob object"""
+ DEFAULT_MIME_TYPE = "text/plain"
+ type = "blob"
+
+ __slots__ = tuple()
+
+ @property
+ def mime_type(self):
+ """
+ :return: String describing the mime type of this file (based on the filename)
+ :note: Defaults to 'text/plain' in case the actual file type is unknown. """
+ guesses = None
+ if self.path:
+ guesses = guess_type(self.path)
+ return guesses and guesses[0] or self.DEFAULT_MIME_TYPE