Modernize and update the API capabilities object.

Review Request #12608 — Created Sept. 19, 2022 and submitted

Information

RBTools
release-4.x

Reviewers

This small change updates the API capabilities object with modern docs
and type annotations.

Ran unit tests.

Summary ID
Modernize and update the API capabilities object.
This small change updates the API capabilities object with modern docs and type annotations. Testing Done: Ran unit tests.
f0425324df856474b3afa7c994e37574c2e074f4
Description From Last Updated

We should use Dict[str, object] for this, to be a bit more explicit.

chipx86chipx86

I know it was this way before, but we probably don't need to capitalize capabilities.

chipx86chipx86

Missing a trailing period.

chipx86chipx86

This won't permit nested dictionaries or bools. It only allows a flat dictionary of string keys and values. Recursive dicts …

chipx86chipx86

Missing trailing comma.

chipx86chipx86

'typing.Union' imported but unused Column: 1 Error code: F401

reviewbotreviewbot
maubin
  1. Ship It!
  2. 
      
chipx86
  1. 
      
  2. rbtools/api/capabilities.py (Diff revision 1)
     
     
    Show all issues

    We should use Dict[str, object] for this, to be a bit more explicit.

  3. rbtools/commands/__init__.py (Diff revision 1)
     
     
    Show all issues

    I know it was this way before, but we probably don't need to capitalize capabilities.

  4. 
      
david
chipx86
  1. 
      
  2. rbtools/api/capabilities.py (Diff revision 2)
     
     
    Show all issues

    Missing a trailing period.

  3. rbtools/api/capabilities.py (Diff revision 2)
     
     
    Show all issues

    This won't permit nested dictionaries or bools. It only allows a flat dictionary of string keys and values.

    Recursive dicts are a problem and our capabilities don't have a specific nesting level for values. So we have to be generic with Dict[str, object].

    (object instead of Any, as the former ensures consistent type safety when reassigning values and the latter says "screw type safety.").

    1. Have to do some assertion nonsense down below to make this work with type checkers, but I guess that's OK.

    2. Nevermind, that fails. Going back to a very basic Dict definition.

  4. rbtools/api/capabilities.py (Diff revision 2)
     
     
    Show all issues

    Missing trailing comma.

  5. 
      
david
Review request changed
Commits:
Summary ID
Modernize and update the API capabilities object.
This small change updates the API capabilities object with modern docs and type annotations. Testing Done: Ran unit tests.
7b3eb0e0157d5663950d2ad432727f6bcdae28e3
Modernize and update the API capabilities object.
This small change updates the API capabilities object with modern docs and type annotations. Testing Done: Ran unit tests.
ec83d7d828062acff42d24220424a88036f15cab

Checks run (1 failed, 1 succeeded)

flake8 failed.
JSHint passed.

flake8

david
chipx86
  1. Ship It!
  2. 
      
david
Review request changed
Status:
Completed
Change Summary:
Pushed to release-4.x (0a23c23)