Skip to content

Refactoring: SodarAPI usage and sodar_cli #271

@Nicolai-vKuegelgen

Description

@Nicolai-vKuegelgen

Problem description
The sodar_cli package is not actively maintained, but it provides the main interaction with the SodarAPI for cubi-tk. Since not maintenance of that package will be done in the foreseeable future, cubi-tk should instead implement it's own API functions as needed and use those instead.
Additionally, all cubi-tk commands/functions relying on the SodarAPI should use a single harmonized interface for this (specifically including the command line options), which is most easily reached by centralizing all functionality in one common class.

Additional Improvements
Apart from harmonsiing the API and command line interface, these features could also greatly improve cubi-tk usage

  • The current cubi-tk sodar landing-zone-* commands onlt print out the json strings returned by the Sodar API. Additional formatting and contextualisation of this output would be very helpful (i.e. returned SodarUIID is a landing zone UUID).
  • The sodar_cli package will usually only report http status codes in cause of failure. In many cases this makes it hard to interpret the root cause. A new API implementation should translate error status codes from the SodarAPI into human interpretable messages.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions