def get_content(self, obj): blob, name = self._get_blob_for_selected_file() if blob is not None: mimetype, mime_category = get_mime_type_for_blob( tree_or_blob='blob', name=name) # Only return the raw data if we detect a file that contains text # data that actually can be rendered. if mime_category == 'text': # Remove any BOM data if preset. return unicodehelper.decode(blob.read_raw()) # By default return an empty string. # See https://github.com/mozilla/addons-server/issues/11782 for # more explanation. return ''
def _fetch_entries(): tree = self.tree for entry_wrapper in self.repo.iter_tree(tree): entry = entry_wrapper.tree_entry path = force_str(entry_wrapper.path) blob = entry_wrapper.blob mimetype, entry_mime_category = get_mime_type_for_blob( tree_or_blob=entry.type, name=entry.name) result[path] = { 'depth': path.count(os.sep), 'filename': force_str(entry.name), 'sha256': None, 'mime_category': entry_mime_category, 'mimetype': mimetype, 'path': path, 'size': blob.size if blob is not None else None, } return result