Skip to content

Latest commit

 

History

History
150 lines (115 loc) · 3.7 KB

helpers.rst

File metadata and controls

150 lines (115 loc) · 3.7 KB

Helpers

Check the server access

Whenever you want to check if the Nuxeo Platform server is reachable, you can run this command. It will return a boolean representing the availability of the server.

is_reachable = nuxeo.client.is_reachable()

Get the Nuxeo Drive configuration

You can fetch the Drive configuration from the server:

config = nuxeo.client.request('GET', 'drive/configuration', default={})

If it has been filled, config will have the following structure:

{
    'log_level_file': 'DEBUG',
    'ignored_suffixes': ['.bak', '.crdownload', '.lock', '.nxpart', '.part', '.partial', '.swp', '.tmp', '~', '.dwl', '.dwl2'],
    'ignored_files': ['^atmp\\d+$'],
    'update_check_delay': 3600,
    'delay': 30,
    'ui': 'web',
    'beta_channel': False,
    'timeout': 30,
    'ignored_prefixes': ['.', 'icon\r', 'thumbs.db', 'desktop.ini', '~$'],
    'handshake_timeout': 60
}

Get available operations

You can search for available operations on the explorer (click on Search Operations on the version corresponding to your Nuxeo Platform). You can also run the following bit of code to see the list:

import json
ops = nuxeo.operations.operations.keys()
ops.sort()
json.dumps(ops)

You'll get an output like this:

[
    "Actions.GET",
    "AddEntryToMultivaluedProperty",
    "AttachFiles",
    "Audit.Log",
    "Audit.LogEvent",
    ...
]

And if you pick one you can see its definition:

json.dumps(nuxeo.operations.operations['Log'])

With an output like this:

{
    "category": "Notification",
    "description": "Logging with log4j",
    "url": "Log",
    "label": "Log",
    "params": [
        {
            "widget": "Option",
            "name": "level",
            "required": true,
            "values": ["info", "debug", "warn", "error"],
            "type": "string",
            "order": 0,
            "description": ""
        },
        {
            "widget": null,
            "name": "message",
            "required": true,
            "values": [],
            "type": "string",
            "order": 0,
            "description": ""
        },
        {
            "widget": null,
            "name": "category",
            "required": false,
            "values": [],
            "type": "string",
            "order": 0,
            "description": ""
        }
    ],
    "signature": [
        "void",
        "void"
    ],
    "requires": null,
    "id": "Log",
    "aliases": ["LogOperation"]
}

Check operation parameters

When you execute an operation, the name of the operation and the parameters you chose will be checked by the nuxeo.operations.check_params() method. If you want to check the parameters of your operation by yourself before running it, you can use the following:

from nuxeo.exceptions import BadQuery

try:
    nuxeo.operations.check_params(
        'Log', {'level': 'info',
                'message': 'I am logging something'})
except BadQuery as e:
    print(e)  # Indicates what is wrong
else:
    # The parameters are valid

Check if the given operation can be used

Whenever you want to check if the Nuxeo Platform server can handle a given operation, it is as easy as:

if nuxeo.can_use("FileManager.CreateFolder"):
    # do something