diff --git a/.gitignore b/.gitignore index 121c5aa..5c57386 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ generated/ openapi.yaml html +venv diff --git a/config.json b/config.json index acd5fee..30d0ee4 100644 --- a/config.json +++ b/config.json @@ -2,6 +2,6 @@ "packageName": "elabapi_python", "pythonPackageName": "elabapi_python", "projectName": "elabapi-python", - "packageVersion": "0.3.1", + "packageVersion": "0.4.0", "packageUrl": "https://github.com/elabftw/elabapi-python" } diff --git a/examples/11-resources-categories.py b/examples/11-resources-categories.py new file mode 100755 index 0000000..e35af41 --- /dev/null +++ b/examples/11-resources-categories.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python + +############### +# DESCRIPTION # +############## +# In this script, we will create a resource category and patch it +############## + +# the python library for elabftw +import elabapi_python + +######################### +# CONFIG # +######################### +# replace with the URL of your instance +API_HOST_URL = 'https://elab.local:3148/api/v2' +# replace with your api key +API_KEY = 'apiKey4Test' +######################### +# END CONFIG # +######################### + +# Configure the api client +configuration = elabapi_python.Configuration() +configuration.api_key['api_key'] = API_KEY +configuration.api_key_prefix['api_key'] = 'Authorization' +configuration.host = API_HOST_URL +configuration.debug = False +configuration.verify_ssl = False + +# create an instance of the API class +api_client = elabapi_python.ApiClient(configuration) +# fix issue with Authorization header not being properly set by the generated lib +api_client.set_default_header(header_name='Authorization', header_value=API_KEY) + +#### SCRIPT START ################## + +# Load the items types api +itemsTypesApi = elabapi_python.ItemsTypesApi(api_client) + +# create one, we provide a title on creation but it's not mandatory +response = itemsTypesApi.post_items_types_with_http_info(body={'title': "My freshly created category"}) +# the response location for this endpoint is a bit different from the rest, it is the full URL: https://elab.example.org/api/v2/items_types/admin.php?tab=4&templateid=15 +locationHeaderInResponse = response[2].get('Location') +print(f'The newly created resource category is here: {locationHeaderInResponse}') +itemId = int(locationHeaderInResponse.split('=').pop()) +# now change the title, and body and color +itemsTypesApi.patch_items_type(itemId, body={'title': 'The new title', 'body': 'Main content text', 'color': '#f5c211'}) diff --git a/examples/README.md b/examples/README.md index c5137cf..362cf35 100644 --- a/examples/README.md +++ b/examples/README.md @@ -45,3 +45,7 @@ Read a CSV file containing a list of antibodies and import them in the resource # 10-date-time-conversions.py Work with date-time data formats with a demonstration of doing statistics with experiments data. + +# 11-resources-categories.py + +Create and edit a Resources Category (Items types).