Exemple #1
0
    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 ''
Exemple #2
0
        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