• 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.commands.base.output
  • 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.commands.base.output¶

    Output management for commands.

    New in version 5.0.

    Classes

    JSONOutput(output_stream)

    Output wrapper for JSON output.

    OutputWrapper(output_stream)

    Wrapper for output of a command.

    class rbtools.commands.base.output.JSONOutput(output_stream: TextIO)[source]¶

    Bases: object

    Output wrapper for JSON output.

    JSON outputter class that stores Command outputs in python dictionary and outputs as JSON object to output stream object. Commands should add any structured output to this object. JSON output is then enabled with the –json argument.

    Changed in version 5.0: This moved from rbtools.commands to rbtools.commands.base.commands.

    New in version 3.0.

    __init__(output_stream: TextIO) → None[source]¶

    Initialize JSONOutput class.

    Parameters:

    output_stream (io.IOBase) – Object to output JSON object to.

    raw: Dict[str, Any]¶

    Raw storage for JSON data scheduled to be output.

    New in version 5.0.

    add(key: str, value: Any) → None[source]¶

    Add a new key value pair.

    Parameters:
    • key (str) – The key associated with the value to be added to dictionary.

    • value (object) – The value to attach to the key in the dictionary.

    append(key: str, value: Any) → None[source]¶

    Add new value to an existing list associated with key.

    Changed in version 5.0: When appending to a non-list, a TypeError is now raised instead of a AttributeError.

    Parameters:
    • key (str) – The key associated with the list to append to.

    • value (object) – The value to append to the list associated with key.

    Raises:
    • KeyError – The key was not found in the state.

    • TypeError – The existing value was not a list.

    add_error(error: str) → None[source]¶

    Add a new error to the “errors” key.

    Append a new error to the errors key, creating one if needed.

    Parameters:

    error (str) – The error that will be added to errors.

    add_warning(warning: str) → None[source]¶

    Add a new warning to the “warnings” key.

    Append a new warning to the warnings key, creating one if needed.

    Parameters:

    warning (unicode) – The warning that will be added to warnings.

    print_to_stream() → None[source]¶

    Output JSON string representation to output stream.

    class rbtools.commands.base.output.OutputWrapper(output_stream: IO)[source]¶

    Bases: Generic

    Wrapper for output of a command.

    Wrapper around some output object that handles outputting messages. Child classes specify the default object. The wrapper can handle messages in either unicode or bytes.

    Changed in version 5.0: This moved from rbtools.commands to rbtools.commands.base.commands.

    New in version 3.0.

    __init__(output_stream: IO) → None[source]¶

    Initialize with an output object to stream to.

    Parameters:

    output_stream (io.IOBase) – The output stream to send command output to.

    output_stream: Optional[IO]¶

    The wrapped output stream.

    __orig_bases__ = (typing.Generic[~AnyStr],)¶
    __parameters__ = (~AnyStr,)¶
    write(msg: ~typing.Optional[AnyStr] = None, end: ~typing.Union[AnyStr, ~rbtools.commands.base.output._Newline] = <rbtools.commands.base.output._Newline object>) → None[source]¶

    Write a message to the output stream.

    Changed in version 5.0: This now handles incoming strings of either bytes or Unicode under the hood, but callers should take care to always use the intended string type. This behavior may change in future versions.

    Parameters:
    • msg (bytes or str, optional) –

      String to write to output stream.

      Changed in version 5.0: This is now optional, allowing just the ending marker to be written if provided.

    • end (bytes or str, optional) –

      String to append to end.

      This defaults to a newline.

    new_line() → None[source]¶

    Write a newline to the output stream.

    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]
    • JSONOutput
      • JSONOutput.__init__()
      • JSONOutput.raw
      • JSONOutput.add()
      • JSONOutput.append()
      • JSONOutput.add_error()
      • JSONOutput.add_warning()
      • JSONOutput.print_to_stream()
    • OutputWrapper
      • OutputWrapper.__init__()
      • OutputWrapper.output_stream
      • OutputWrapper.__orig_bases__
      • OutputWrapper.__parameters__
      • OutputWrapper.write()
      • OutputWrapper.new_line()