trackhub.base.HubComponent

digraph inheritancef245ed092d { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "trackhub.base.HubComponent" [URL="#trackhub.base.HubComponent",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Base class for various track hub components. Several methods must be"]; }
class trackhub.base.HubComponent[source]

Bases: object

Base class for various track hub components. Several methods must be overridden by subclasses.

Methods

__init__()

add_child(child)

Adds self as parent to child, and then adds child.

add_parent(parent)

Adds self as child of parent, then adds parent.

leaves(cls[, level, intermediate])

Returns an iterator of the HubComponent leaves that are of class cls.

makedirs(fn)

render([staging])

Renders the object to file, returning a list of created files.

root([cls, level])

Returns the top-most HubComponent in the hierarchy.

validate()

Runs validation, raising exceptions as needed.

__init__()[source]
add_child(child)[source]

Adds self as parent to child, and then adds child.

add_parent(parent)[source]

Adds self as child of parent, then adds parent.

leaves(cls, level=0, intermediate=False)[source]

Returns an iterator of the HubComponent leaves that are of class cls.

If intermediate is True, then return any intermediate classes as well.

render(staging=None)[source]

Renders the object to file, returning a list of created files.

Calls validation code, and, as long as each child is also a subclass of HubComponent, the rendering is recursive.

root(cls=None, level=0)[source]

Returns the top-most HubComponent in the hierarchy.

If cls is not None, then return the top-most attribute HubComponent that is an instance of class cls.

For a fully-constructed track hub (and cls=None), this should return a a Hub object for every component in the hierarchy.

validate()[source]

Runs validation, raising exceptions as needed. Must be overridden by subclass.