• Get Review Board
  • What's New
  • Products
  • Review Board Code review, image review, and document review
  • Documentation
  • Release Notes
  • Power Pack Enterprise integrations, reports, and enhanced document review
  • Try for 60 Days
  • Purchase
  • RBCommons Review Board as a Service, hosted by us
  • Pricing
  • RBTools Command line tools and Python API for Review Board
  • Documentation
  • Release Notes
  • Review Bot Automated code review, connecting tools you already use
  • Documentation
  • Release Notes
  • RB Gateway Manage Git and Mercurial repositories in your network
  • Documentation
  • Release Notes
  • Learn and Explore
  • What is Code Review?
  • Documentation
  • Frequently Asked Questions
  • Support Options
  • Third-Party Integrations
  • Demo
  • Review Board RBTools Power Pack Review Bot Djblets RB Gateway
    1. RBTools 5.x
    2. Version 5.x
    3. Version 4.x
    4. Version 3.x
    5. Version 2.0
    6. Version 1.0
    7. Version 0.7
    8. Version 0.6
    9. Version 0.5
    10. RBTools Python API
    11. Module and Class References
    12. rbtools.utils.mimetypes
  • Home
  • Installing RBTools
  • rbt Command
  • Configuration
  • Authenticating to Review Board
  • Repository Configuration
  • Per-User Configuration
  • Team Foundation Server Configuration
  • Commands
  • alias
  • api-get
  • attach
  • clear-cache
  • close
  • diff
  • install
  • land
  • list-repo-types
  • login
  • logout
  • patch
  • post
  • publish
  • review
  • setup-completion
  • setup-repo
  • stamp
  • status
  • status-update
  • RBTools Workflows
  • Using RBTools With Cliosoft SOS
  • Using RBTools with Git
  • Using RBTools with HCL VersionVault and IBM ClearCase
  • Using RBTools With Perforce
  • RBTools Python API
  • Overview of the Python API Client
  • Tutorial
  • Resource-Specific Functionality
  • Module and Class References
  • rbtools
  • rbtools.deprecation
  • rbtools.api
  • rbtools.api.cache
  • rbtools.api.capabilities
  • rbtools.api.client
  • rbtools.api.decode
  • rbtools.api.decorators
  • rbtools.api.errors
  • rbtools.api.factory
  • rbtools.api.request
  • rbtools.api.resource
  • rbtools.api.transport
  • rbtools.api.transport.sync
  • rbtools.api.utils
  • rbtools.clients
  • rbtools.clients.base
  • rbtools.clients.base.patch
  • rbtools.clients.base.registry
  • rbtools.clients.base.repository
  • rbtools.clients.base.scmclient
  • rbtools.clients.errors
  • rbtools.clients.bazaar
  • rbtools.clients.clearcase
  • rbtools.clients.cvs
  • rbtools.clients.git
  • rbtools.clients.mercurial
  • rbtools.clients.perforce
  • rbtools.clients.plastic
  • rbtools.clients.sos
  • rbtools.clients.svn
  • rbtools.clients.tfs
  • rbtools.config
  • rbtools.config.config
  • rbtools.config.loader
  • rbtools.diffs
  • rbtools.diffs.patches
  • rbtools.diffs.patcher
  • rbtools.diffs.tools
  • rbtools.diffs.tools.backends
  • rbtools.diffs.tools.backends.gnu
  • rbtools.diffs.tools.base
  • rbtools.diffs.tools.base.diff_file_result
  • rbtools.diffs.tools.base.diff_tool
  • rbtools.diffs.tools.errors
  • rbtools.diffs.tools.registry
  • rbtools.diffs.writers
  • rbtools.commands
  • rbtools.commands.main
  • rbtools.commands
  • rbtools.commands.base
  • rbtools.commands.base.commands
  • rbtools.commands.base.errors
  • rbtools.commands.base.options
  • rbtools.commands.base.output
  • rbtools.commands.alias
  • rbtools.commands.api_get
  • rbtools.commands.attach
  • rbtools.commands.clearcache
  • rbtools.commands.close
  • rbtools.commands.diff
  • rbtools.commands.info
  • rbtools.commands.install
  • rbtools.commands.land
  • rbtools.commands.list_repo_types
  • rbtools.commands.login
  • rbtools.commands.logout
  • rbtools.commands.patch
  • rbtools.commands.post
  • rbtools.commands.publish
  • rbtools.commands.review
  • rbtools.commands.setup_completion
  • rbtools.commands.setup_repo
  • rbtools.commands.stamp
  • rbtools.commands.status
  • rbtools.commands.status_update
  • rbtools.hooks
  • rbtools.hooks.common
  • rbtools.hooks.git
  • rbtools.testing
  • rbtools.testing.api
  • rbtools.testing.api.payloads
  • rbtools.testing.api.transport
  • rbtools.testing.commands
  • rbtools.testing.testcase
  • rbtools.testing.transport
  • rbtools.utils
  • rbtools.utils.aliases
  • rbtools.utils.browser
  • rbtools.utils.checks
  • rbtools.utils.commands
  • rbtools.utils.console
  • rbtools.utils.diffs
  • rbtools.utils.encoding
  • rbtools.utils.errors
  • rbtools.utils.filesystem
  • rbtools.utils.graphs
  • rbtools.utils.mimetypes
  • rbtools.utils.process
  • rbtools.utils.repository
  • rbtools.utils.review_request
  • rbtools.utils.source_tree
  • rbtools.utils.users
  • Glossary
  • General Index
  • Python Module Index
  • Release Notes
  • rbtools.utils.mimetypes¶

    Utilities for working with MIME types.

    New in version 5.0.

    Functions

    guess_mimetype(*, data[, filename])

    Guess the MIME type of the given file content.

    match_mimetype(pattern, test)

    Return a score for how well the pattern matches the mimetype.

    parse_mimetype(mime_type)

    Parse a MIME type into its component parts.

    Classes

    MIMEType

    A MIME type, parsed into its component parts.

    class rbtools.utils.mimetypes.MIMEType[source]¶

    Bases: TypedDict

    A MIME type, parsed into its component parts.

    New in version 5.0.

    type: str¶

    The full MIME type.

    Type:

    str

    main_type: str¶

    Main type (For example, “application” for “application/octet-stream”)

    Type:

    str

    sub_type: str¶

    Sub-type (for example, “plain” for “text/plain”).

    This will include vendor information, if present.

    Type:

    str

    vendor: str¶

    The vendor tag, if available.

    For example, “vnd.reviewboard.org.test” in “application/vnd.reviewboard.org.test+json”.

    Type:

    str

    format: str¶

    The sub-type format, if available.

    For example, “json” in “application/vnd.reviewboard.org.test+json”.

    Type:

    str

    __closed__ = False¶
    __extra_items__ = None¶
    __mutable_keys__ = frozenset({'format', 'main_type', 'sub_type', 'type', 'vendor'})¶
    __optional_keys__ = frozenset({})¶
    __orig_bases__ = (<function TypedDict>,)¶
    __readonly_keys__ = frozenset({})¶
    __required_keys__ = frozenset({'format', 'main_type', 'sub_type', 'type', 'vendor'})¶
    __total__ = True¶
    rbtools.utils.mimetypes.parse_mimetype(mime_type: str) → MIMEType[source]¶

    Parse a MIME type into its component parts.

    New in version 5.0.

    Parameters:

    mime_type (str) – The MIME type to parse.

    Returns:

    The type, parsed into its component parts.

    Return type:

    ParsedMIMEType

    Raises:

    ValueError – The given MIME type could not be parsed.

    rbtools.utils.mimetypes.guess_mimetype(*, data: bytes, filename: Optional[str] = None) → str[source]¶

    Guess the MIME type of the given file content.

    New in version 5.0.

    Parameters:

    data (bytes) – The file content.

    Returns:

    The guessed MIME type.

    Return type:

    str

    rbtools.utils.mimetypes.match_mimetype(pattern: MIMEType, test: MIMEType) → float[source]¶

    Return a score for how well the pattern matches the mimetype.

    This is an ordered list of precedence (_ indicates non-match):

    Format

    Precedence

    Type/Vendor+Subtype

    2.0

    Type/Subtype

    1.9

    Type/*

    1.8

    */Vendor+Subtype

    1.7

    */_     +Subtype

    1.6

    */*

    1.5

    _

    0

    New in version 5.0.

    Parameters:
    • pattern (MIMEType) – A parsed mimetype pattern to score. This is a 3-tuple of the type, subtype, and parameters as returned by mimeparse.parse_mime_type(). This may include * wildcards.

    • test (MIMEType) – A parsed mimetype to match against the pattern. This is a 3-tuple of the type, subtype, and parameters as returned by mimeparse.parse_mime_type().

    Returns:

    The resulting score for the match.

    Return type:

    float

    Keep up with the latest Review Board releases, security updates, and helpful information.

    About
    News
    Demo
    RBCommons Hosting
    Integrations
    Happy Users
    Support Options
    Documentation
    FAQ
    User Manual
    RBTools
    Administration Guide
    Power Pack
    Release Notes
    Downloads
    Review Board
    RBTools
    Djblets
    Power Pack
    Package Store
    PGP Signatures
    Contributing
    Bug Tracker
    Submit Patches
    Development Setup
    Wiki
    Follow Us
    Mailing Lists
    Reddit
    Twitter
    Mastodon
    Facebook
    YouTube

    Copyright © 2006-2025 Beanbag, Inc. All rights reserved.

    Terms of Service — Privacy Policy — AI Ethics Policy — Branding

    On this page

    • [Top]
    • MIMEType
      • MIMEType.type
      • MIMEType.main_type
      • MIMEType.sub_type
      • MIMEType.vendor
      • MIMEType.format
      • MIMEType.__closed__
      • MIMEType.__extra_items__
      • MIMEType.__mutable_keys__
      • MIMEType.__optional_keys__
      • MIMEType.__orig_bases__
      • MIMEType.__readonly_keys__
      • MIMEType.__required_keys__
      • MIMEType.__total__
    • parse_mimetype()
    • guess_mimetype()
    • match_mimetype()