aiida.restapi.translator.nodes package#

Subpackages#

Submodules#

Translator for node

class aiida.restapi.translator.nodes.node.NodeTranslator(**kwargs)[source]#

Bases: BaseTranslator

Translator relative to resource ‘nodes’ and aiida class Node

__annotations__ = {}#
__init__(**kwargs)[source]#

Initialise the parameters. Create the basic query_help

__label__ = 'nodes'#
__module__ = 'aiida.restapi.translator.nodes.node'#
_aiida_class#

alias of Node

_aiida_type = 'node.Node'#
_attributes_filter = None#
_content_type = None#
_download = None#
_download_format = None#
_extras_filter = None#
_filename = None#
_get_content()[source]#

Used by get_results() in case of endpoint include “content” option :return: data: a dictionary containing the results obtained by running the query

_get_subclasses(parent=None, parent_class=None, recursive=True)[source]#

Import all submodules of the package containing the present class. Includes subpackages recursively, if specified.

Parameters:
  • parent – package/class. If package looks for the classes in submodules. If class, first looks for the package where it is contained

  • parent_class – class of which to look for subclasses

  • recursive – True/False (go recursively into submodules)

_has_uuid = True#
_result_type = 'nodes'#
static get_all_download_formats(full_type=None)[source]#

Returns dict of possible node formats for all available node types

static get_comments(node)[source]#
Parameters:

node – node object

Returns:

node comments

get_derived_properties(node)[source]#

Generic function to get the derived properties of the node. Actual definition is in child classes as the content to be returned depends on the plugin specific to the resource

Parameters:

node – node object that has to be visualized

Returns:

derived properties of the node

If this method is called by Node resource it will look for the type of object and invoke the correct method in the lowest-compatible subclass

static get_downloadable_data(node, download_format=None)[source]#

Generic function to download file in specified format. Actual definition is in child classes as the content to be returned and its format depends on the download plugin specific to the resource

Parameters:
  • node – node object

  • download_format – file extension format

Returns:

data in selected format to download

If this method is called for a Data node resource it will invoke the get_downloadable_data method in the Data transaltor. Otherwise it raises RestFeatureNotAvailable exception

static get_file_content(node, file_name)[source]#

It reads the file from directory and returns its content.

Instead of using “send_from_directory” from flask, this method is written because in next aiida releases the file can be stored locally or in object storage.

Parameters:
  • node – aiida folderData node which contains file

  • file_name – name of the file to return its contents

Returns:

get_formatted_result(label)[source]#

Runs the query and retrieves results tagged as “label”.

Parameters:

label (str) – the tag of the results to be extracted out of the query rows.

Returns:

a list of the query results

get_io_tree(uuid_pattern, tree_in_limit, tree_out_limit)[source]#

Json data to display nodes in tree format :param uuid_pattern: main node uuid :return: json data to display node tree

static get_namespace(user_pk=None, count_nodes=False)[source]#

Return full_types of the nodes

get_projectable_properties()[source]#

Get projectable properties specific for Node :return: dict of projectable properties and column_order list

static get_repo_contents(node, filename='')[source]#

Every node in AiiDA is having repo folder. This function returns the metadata using get_object() method :param node: node object :param filename: folder or file name (optional) :return: file content in bytes to download

static get_repo_list(node, filename='')[source]#

Every node in AiiDA is having repo folder. This function returns the metadata using list_objects() method :param node: node object :param filename: folder name (optional) :return: folder list

get_results()[source]#

Returns either a list of nodes or details of single node from database

Returns:

either a list of nodes or the details of single node from the database

get_statistics(user_pk=None)[source]#

Return statistics for a given node

set_query(filters=None, orders=None, projections=None, query_type=None, node_id=None, download_format=None, download=None, filename=None, attributes=None, attributes_filter=None, extras=None, extras_filter=None, full_type=None)[source]#

Adds filters, default projections, order specs to the query_help, and initializes the qb object

Parameters:
  • filters – dictionary with the filters

  • orders – dictionary with the order for each tag

  • projections – dictionary with the projection. It is discarded if query_type==’attributes’/’extras’

  • query_type – (string) specify the result or the content (“attr”)

  • id – (integer) id of a specific node

  • download_format – file format to download e.g. cif, xyz

  • filename – name of the file to return its content

  • attributes – flag to show attributes for nodes

  • attributes_filter – list of attributes to query

  • extras – flag to show extras for nodes

  • extras_filter – list of extras to query

set_query_type(query_type, attributes_filter=None, extras_filter=None, download_format=None, download=None, filename=None)[source]#

Sets one of the mutually exclusive values for self._result_type and self._content_type.

:param query_type:(string) the value assigned to either variable.