Create a capability¶
A method can raise only its own exceptions¶
When you want to return an error, you must raise only your own exceptions defined in the capability module.
Never let Python raise his exceptions, for example
KeyError if a parameter given to method isn’t found in a local
Prefer returning objects¶
Python is an object-oriented language, so when your capability supports entities (for example
BaseVideo with the
you have to create a class derived from
BaseObject, and create an unique method
to get it (for example
get_video()), instead of several methods like
An object has an unique ID.
When an object is fetched, all of its fields are not necessarily loaded.
For example, on a video search, if the backend gets information from the search page, the direct URL of the video isn’t available yet.
A field which isn’t loaded can be set to
By default, in the object constructor, every fields should be set to
NotLoaded, and when the backend loads them, it replaces them with
the new values.