resqpy.olio.base.BaseResqpy¶
- class resqpy.olio.base.BaseResqpy(model, uuid=None, title=None, originator=None, extra_metadata=None)[source]¶
Bases:
object
Base class for generic resqpy classes.
Implements generic attributes such as uuid, root, part, title, originator.
Implements generic magic methods, such as pretty printing and testing for equality.
Example use:
class AnotherResqpyObject(BaseResqpy): resqml_type = 'obj_anotherresqmlobjectrepresentation'
Public Data Attributes:
Definition of which RESQML object the class represents.
Standard part name corresponding to self.uuid.
XML node corresponding to self.uuid.
Citation block title equivalent to self.title.
Methods:
__init__
(model[, uuid, title, originator, ...])Load an existing resqml object, or create new.
Look for an equivalent existing RESQML object and modify the uuid of this object if found.
create_xml
([title, originator, ...])Write citation block to XML.
append_extra_metadata
(meta_dict)Append a given dictionary of metadata to the existing metadata.
__eq__
(other)Implements equals operator; uses is_equivalent() otherwise compares class type and uuid.
__ne__
(other)Implements not equal operator.
__repr__
()String representation.
- abstract property resqml_type¶
Definition of which RESQML object the class represents.
Subclasses must overwrite this abstract attribute.
- __init__(model, uuid=None, title=None, originator=None, extra_metadata=None)[source]¶
Load an existing resqml object, or create new.
- Parameters
model (resqpy.model.Model) – Parent model
uuid (str, optional) – Load from existing uuid (if given), else create new.
title (str, optional) – Citation title
originator (str, optional) – Creator of object. By default, uses user id.
- uuid¶
Unique identifier
- title¶
Citation title
- originator¶
Creator of object. By default, user id.
- property part¶
Standard part name corresponding to self.uuid.
- property root¶
XML node corresponding to self.uuid.
- property citation_title¶
Citation block title equivalent to self.title.
- try_reuse()[source]¶
Look for an equivalent existing RESQML object and modify the uuid of this object if found.
- Returns
boolean – True if an equivalent object was found, False if not
Note
by design this method may change this object’s uuid as a side effect
- create_xml(title=None, originator=None, extra_metadata=None, add_as_part=False)[source]¶
Write citation block to XML.
Note
add_as_part is False by default in this base method. Derived classes should typically extend this method to complete the XML representation, and then finally ensure the node is added as a part to the model.
- Parameters
title (string) – used as the citation Title text
originator (string, optional) – the name of the human being who created the deviation survey part; default is to use the login name
extra_metadata (dict, optional) – extra metadata items to be added
add_as_part (boolean) – if True, the newly created xml node is added as a part in the model
- Returns
node – the newly created root node