Features
New functionalities are added:
- `to_upload_format`: Changes the output of the REST Client such that it can be uploaded again:
1. Non-data fields are removed (`_href` and `_meta`).
2. Reference objects are removed and replaced with their identifiers.
- `update_all`: Updates multiple rows at once
- `upsert`: Combination of `update_all` and `add_all`, the client decides what to use (checks existing IDs).
- `import_data`: Extension of `upload_zip`, includes the creation of the zip file and waits for the upload process to be finished
- `get_meta`: Similar to `get_entity_meta_data`, but uses the newer Metadata API instead of the REST API V1.
New parameters are added to existing methods:
- `get_by_id: uploadable`: if `True` the data will be returned in an uploadable format (`to_upload_format` is called);
- `get: uploadable`: if `True` the data will be returned in an uploadable format (`to_upload_format` is called);
- `upload_zip`:
- `asynchronous`: if `True` it does not wait till the upload is finished.
- `data_action`: Options are: `[ADD, UPDATE, UPSERT, IGNORE]`
- `metadata_action`: Options are: `[ADD, ADD_UPDATE_EXISTING, UPDATE, ADD_IGNORE_EXISTING]`
Refactoring:
- Moved most of the private methods to separate modules