From 47e3138ee978ce708a41f38a0d874376d7ae5c78 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Fri, 25 Jun 2010 23:58:24 +0200 Subject: 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 --- lib/git/objects/blob.py | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'lib/git/objects/blob.py') 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 '' % self.sha -- cgit v1.2.1