diff options
author | Sebastian Thiel <byronimo@gmail.com> | 2010-06-25 23:58:24 +0200 |
---|---|---|
committer | Sebastian Thiel <byronimo@gmail.com> | 2010-06-25 23:58:24 +0200 |
commit | 47e3138ee978ce708a41f38a0d874376d7ae5c78 (patch) | |
tree | 0880f5c8f2a375e718c69fcffd15e87b7f4aecae /lib/git/objects/blob.py | |
parent | 58fb1187b7b8f1e62d3930bdba9be5aba47a52c6 (diff) | |
download | gitpython-47e3138ee978ce708a41f38a0d874376d7ae5c78.tar.gz |
Adjusted all files to (hopefully) deal with the fact that all objects now use 20 byte sha's internally as it is closer to the GitDB implementation
Switched all remaining files back to tabs
Adjusted all remaining docstrings to suit the sphinx doc convention - its likely that there are many of docstring syntax errors though
Diffstat (limited to 'lib/git/objects/blob.py')
-rw-r--r-- | lib/git/objects/blob.py | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/lib/git/objects/blob.py b/lib/git/objects/blob.py index 3f91d078..ed7a8d04 100644 --- a/lib/git/objects/blob.py +++ b/lib/git/objects/blob.py @@ -4,33 +4,33 @@ # This module is part of GitPython and is released under # the BSD License: http://www.opensource.org/licenses/bsd-license.php -import mimetypes +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() + __slots__ = "data" + + def _set_cache_(self, attr): + if attr == "data": + ostream = self.repo.odb.stream(self.binsha) + self.size = ostream.size + self.data = ostream.read() + # assert ostream.type == self.type, _assertion_msg_format % (self.binsha, ostream.type, self.type) + else: + super(Blob, self)._set_cache_(attr) + # END handle data - @property def mime_type(self): - """ - The mime type of this file (based on the filename) - - Returns - str - - NOTE - Defaults to 'text/plain' in case the actual file type is unknown. - """ + """ :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 = mimetypes.guess_type(self.path) + guesses = guess_type(self.path) return guesses and guesses[0] or self.DEFAULT_MIME_TYPE - - - def __repr__(self): - return '<git.Blob "%s">' % self.sha |