Skip to content
Back to top
View this page

# BackwardCompatibleChanGo

class chango.concrete.BackwardCompatibleChanGo(main_instance, legacy_instances)

  Bases: `ChanGo`[`BackwardCompatibleVersionScanner`, `VHT`, `VNT`, `CNT`], `Generic`

  An Implementation of the `ChanGo` interface that wraps multiple other implementations of `ChanGo`. The purpose of this class is to ease transition between different version note formats in a project.

  Parameters:

    - main_instance (`ChanGo`) – The `ChanGo` instance that should be used for new version notes.

    - legacy_instances (Collection[`ChanGo`]) – A collection of `ChanGo` instances that should be used for loading older version notes.

  build_github_event_change_note(event, data=None)

    Calls `build_github_event_change_note()` on `main_instance`.

  build_template_change_note(slug, uid=None)

    Calls `build_template_change_note()` on `main_instance`.

  build_version_history()

    Calls `build_version_history()` on `main_instance`.

  build_version_note(version)

    Calls `build_version_note()` on `main_instance` or one of the legacy instances depending on the result of `is_available()`.

  get_write_directory(change_note, version)

    Calls `get_write_directory()` on `main_instance`.

  load_change_note(uid)

    Load a change note with the given identifier. Tries to load the change note from the main chango first and then from the legacy changos.

  property scanner

    The `BackwardCompatibleVersionScanner` instance that is used by this `BackwardCompatibleChanGo`.

    Hint

    The scanner is a composite of the scanners of `main_instance` and `legacy_instance`.