resqpy.olio.base.BaseResqpy
- class resqpy.olio.base.BaseResqpy(model, uuid=None, title=None, originator=None, extra_metadata=None)[source]
Bases:
objectBase 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 modeluuid (
str, optional) – Load from existing uuid (if given), else create new.title (
str, optional) – Citation titleoriginator (
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 textoriginator (
string, optional) – the name of the human being who created the deviation survey part; default is to use the login nameextra_metadata (
dict, optional) – extra metadata items to be addedadd_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