Models

Base

class estuary.models.base.EstuaryStructuredNode(*args, **kwargs)[source]

Base class for Estuary Neo4j models.

DoesNotExist

alias of neomodel.core.EstuaryStructuredNodeDoesNotExist

add_label(new_label)[source]

Add a Neo4j label to an existing node.

Parameters

new_label (str) – the new label to add to the node

static conditional_connect(relationship, new_node)[source]

Wrap the connect and replace methods for conditional relationship handling.

Parameters
  • relationship (neomodel.RelationshipManager) – a relationship to connect on

  • new_node (neomodel.StructuredNode) – the node to create the relationship with

Raises

NotImplementedError – if this method is called with a relationship of cardinality of one

property display_name

Get intuitive (human readable) display name for the node.

classmethod find_or_none(identifier)[source]

Find the node using the supplied identifier.

This method should be overridden if the node class accepts multiple types of identifiers. :param str identifier: the identifier to search the node by :return: the node or None :rtype: EstuaryStructuredNode or None

static inflate_results(results)[source]

Inflate the results.

Parameters

results (str) – results obtained from Neo4j

Returns

a list of dictionaries containing serialized results received from Neo4j

Return type

list

remove_label(label)[source]

Remove a Neo4j label from an existing node.

Parameters

label (str) – the label to be removed from the node

property serialized

Convert a model to serialized form.

Returns

a serialized form of the node

Return type

dictionary

property serialized_all

Generate a serialized form of the node that includes all its relationships.

Returns

a serialized form of the node with relationships

Return type

dictionary

Raises

RuntimeError – if the label of a Neo4j node can’t be mapped back to a neomodel class

property timeline_datetime

Get the DateTime property used for the Estuary timeline.

property timeline_timestamp

Get the DateTime property used for the Estuary timeline as a string.

property unique_id_property

Get the name of the UniqueIdProperty for the node.

Returns

a string containing name of the unique ID property of a node

Return type

str

Bugzilla

class estuary.models.bugzilla.BugzillaBug(*args, **kwargs)[source]

Definition of a Bugzilla bug in Neo4j.

DoesNotExist

alias of neomodel.core.BugzillaBugDoesNotExist

assignee = <neomodel.relationship_manager.RelationshipDefinition object>
attached_advisories = <neomodel.relationship_manager.RelationshipDefinition object>
creation_time = <neomodel.properties.DateTimeProperty object>
property display_name

Get intuitive (human readable) display name for the node.

classmethod find_or_none(identifier)[source]

Find the node using the supplied identifier.

Parameters

identifier (str) – the identifier to search the node by

Returns

the node or None

Return type

EstuaryStructuredNode or None

id_ = <neomodel.properties.UniqueIdProperty object>
modified_time = <neomodel.properties.DateTimeProperty object>
priority = <neomodel.properties.StringProperty object>
product_name = <neomodel.properties.StringProperty object>
product_version = <neomodel.properties.StringProperty object>
qa_contact = <neomodel.relationship_manager.RelationshipDefinition object>
related_by_commits = <neomodel.relationship_manager.RelationshipDefinition object>
reporter = <neomodel.relationship_manager.RelationshipDefinition object>
resolution = <neomodel.properties.StringProperty object>
resolved_by_commits = <neomodel.relationship_manager.RelationshipDefinition object>
reverted_by_commits = <neomodel.relationship_manager.RelationshipDefinition object>
severity = <neomodel.properties.StringProperty object>
short_description = <neomodel.properties.StringProperty object>
status = <neomodel.properties.StringProperty object>
target_milestone = <neomodel.properties.StringProperty object>
property timeline_datetime

Get the DateTime property used for the Estuary timeline.

DistGit

class estuary.models.distgit.DistGitCommit(*args, **kwargs)[source]

Definition of a dist-git commit in Neo4j.

DoesNotExist

alias of neomodel.core.DistGitCommitDoesNotExist

author = <neomodel.relationship_manager.RelationshipDefinition object>
author_date = <neomodel.properties.DateTimeProperty object>
commit_date = <neomodel.properties.DateTimeProperty object>
property display_name

Get intuitive (human readable) display name for the node.

hash_ = <neomodel.properties.UniqueIdProperty object>
koji_builds = <neomodel.relationship_manager.RelationshipDefinition object>
log_message = <neomodel.properties.StringProperty object>
related_bugs = <neomodel.relationship_manager.RelationshipDefinition object>
repos = <neomodel.relationship_manager.RelationshipDefinition object>
resolved_bugs = <neomodel.relationship_manager.RelationshipDefinition object>
reverted_bugs = <neomodel.relationship_manager.RelationshipDefinition object>
property timeline_datetime

Get the DateTime property used for the Estuary timeline.

class estuary.models.distgit.DistGitRepo(*args, **kwargs)[source]

Definition of a dist-git repo in Neo4j.

DoesNotExist

alias of neomodel.core.DistGitRepoDoesNotExist

commits = <neomodel.relationship_manager.RelationshipDefinition object>
property display_name

Get intuitive (human readable) display name for the node.

name = <neomodel.properties.StringProperty object>
namespace = <neomodel.properties.StringProperty object>

Errata

class estuary.models.errata.Advisory(*args, **kwargs)[source]

Definition of an Errata advisory in Neo4j.

class BuildAttachedRel(*args, **kwargs)[source]

Definition of a relationship between an Advisory and a KojiBuild attached to it.

time_attached = <neomodel.properties.DateTimeProperty object>
DoesNotExist

alias of neomodel.core.AdvisoryDoesNotExist

actual_ship_date = <neomodel.properties.DateTimeProperty object>
advisory_name = <neomodel.properties.StringProperty object>
assigned_to = <neomodel.relationship_manager.RelationshipDefinition object>
attached_bugs = <neomodel.relationship_manager.RelationshipDefinition object>
classmethod attached_build_time(advisory, build)[source]

Get the time that a build related to the advisory was attached.

Parameters

build (node) – a Neo4j node representing an attached build

Returns

the time the build was attached

Return type

datetime object

attached_builds = <neomodel.relationship_manager.RelationshipDefinition object>
created_at = <neomodel.properties.DateTimeProperty object>
property display_name

Get intuitive (human readable) display name for the node.

classmethod find_or_none(identifier)[source]

Find the node using the supplied identifier.

Parameters

identifier (str) – the identifier to search the node by

Returns

the node or None

Return type

EstuaryStructuredNode or None

id_ = <neomodel.properties.UniqueIdProperty object>
issue_date = <neomodel.properties.DateTimeProperty object>
product_name = <neomodel.properties.StringProperty object>
release_date = <neomodel.properties.DateTimeProperty object>
reporter = <neomodel.relationship_manager.RelationshipDefinition object>
security_impact = <neomodel.properties.StringProperty object>
security_sla = <neomodel.properties.DateTimeProperty object>
state = <neomodel.properties.StringProperty object>
status_time = <neomodel.properties.DateTimeProperty object>
synopsis = <neomodel.properties.StringProperty object>
property timeline_datetime

Get the DateTime property used for the Estuary timeline.

triggered_freshmaker_event = <neomodel.relationship_manager.RelationshipDefinition object>
update_date = <neomodel.properties.DateTimeProperty object>
class estuary.models.errata.ContainerAdvisory(*args, **kwargs)[source]

Definition of an Errata advisory with container builds attached in Neo4j.

DoesNotExist

alias of neomodel.core.ContainerAdvisoryDoesNotExist

Freshmaker

class estuary.models.freshmaker.FreshmakerBuild(*args, **kwargs)[source]

Definition of a Freshmaker build in Neo4j.

DoesNotExist

alias of neomodel.core.FreshmakerBuildDoesNotExist

build_id = <neomodel.properties.IntegerProperty object>
dep_on = <neomodel.properties.StringProperty object>
property display_name

Get intuitive (human readable) display name for the node.

event = <neomodel.relationship_manager.RelationshipDefinition object>
id_ = <neomodel.properties.UniqueIdProperty object>
koji_builds = <neomodel.relationship_manager.RelationshipDefinition object>
name = <neomodel.properties.StringProperty object>
original_nvr = <neomodel.properties.StringProperty object>
rebuilt_nvr = <neomodel.properties.StringProperty object>
state_name = <neomodel.properties.StringProperty object>
state_reason = <neomodel.properties.StringProperty object>
time_completed = <neomodel.properties.DateTimeProperty object>
time_submitted = <neomodel.properties.DateTimeProperty object>
type_name = <neomodel.properties.StringProperty object>
class estuary.models.freshmaker.FreshmakerEvent(*args, **kwargs)[source]

Definition of a Freshmaker event in Neo4j.

DoesNotExist

alias of neomodel.core.FreshmakerEventDoesNotExist

property display_name

Get intuitive (human readable) display name for the node.

id_ = <neomodel.properties.UniqueIdProperty object>
requested_builds = <neomodel.relationship_manager.RelationshipDefinition object>
state_name = <neomodel.properties.StringProperty object>
state_reason = <neomodel.properties.StringProperty object>
successful_koji_builds = <neomodel.relationship_manager.RelationshipDefinition object>
time_created = <neomodel.properties.DateTimeProperty object>
time_done = <neomodel.properties.DateTimeProperty object>
property timeline_datetime

Get the DateTime property used for the Estuary timeline.

triggered_by_advisory = <neomodel.relationship_manager.RelationshipDefinition object>

Koji

class estuary.models.koji.ContainerKojiBuild(*args, **kwargs)[source]

A Neo4j definition of a build that represents a container build in Koji.

DoesNotExist

alias of neomodel.core.ContainerKojiBuildDoesNotExist

operator = <neomodel.properties.BooleanProperty object>
original_nvr = <neomodel.properties.StringProperty object>
triggered_by_freshmaker_event = <neomodel.relationship_manager.RelationshipDefinition object>
class estuary.models.koji.KojiBuild(*args, **kwargs)[source]

Definition of a Koji build in Neo4j.

DoesNotExist

alias of neomodel.core.KojiBuildDoesNotExist

advisories = <neomodel.relationship_manager.RelationshipDefinition object>
commit = <neomodel.relationship_manager.RelationshipDefinition object>
completion_time = <neomodel.properties.DateTimeProperty object>
creation_time = <neomodel.properties.DateTimeProperty object>
property display_name

Get intuitive (human readable) display name for the node.

epoch = <neomodel.properties.StringProperty object>
classmethod find_or_none(identifier)[source]

Find the node using the supplied identifier.

Parameters

identifier (str) – the identifier to search the node by

Returns

the node or None

Return type

EstuaryStructuredNode or None

id_ = <neomodel.properties.UniqueIdProperty object>
module_builds = <neomodel.relationship_manager.RelationshipDefinition object>
name = <neomodel.properties.StringProperty object>
owner = <neomodel.relationship_manager.RelationshipDefinition object>
release = <neomodel.properties.StringProperty object>
start_time = <neomodel.properties.DateTimeProperty object>
state = <neomodel.properties.IntegerProperty object>
property timeline_datetime

Get the DateTime property used for the Estuary timeline.

version = <neomodel.properties.StringProperty object>
class estuary.models.koji.ModuleKojiBuild(*args, **kwargs)[source]

A Neo4j definition of a build that represents a module build in Koji.

DoesNotExist

alias of neomodel.core.ModuleKojiBuildDoesNotExist

components = <neomodel.relationship_manager.RelationshipDefinition object>
context = <neomodel.properties.StringProperty object>
mbs_id = <neomodel.properties.IntegerProperty object>
module_name = <neomodel.properties.StringProperty object>
module_stream = <neomodel.properties.StringProperty object>
module_version = <neomodel.properties.StringProperty object>

User

class estuary.models.user.User(*args, **kwargs)[source]

Definition of a generic user in Neo4j.

DoesNotExist

alias of neomodel.core.UserDoesNotExist

advisories_assigned = <neomodel.relationship_manager.RelationshipDefinition object>
advisories_reported = <neomodel.relationship_manager.RelationshipDefinition object>
bugs_assigned = <neomodel.relationship_manager.RelationshipDefinition object>
bugs_qa_contact_for = <neomodel.relationship_manager.RelationshipDefinition object>
bugs_reported = <neomodel.relationship_manager.RelationshipDefinition object>
property display_name

Get intuitive (human readable) display name for the node.

distgit_authored_commits = <neomodel.relationship_manager.RelationshipDefinition object>
email = <neomodel.properties.StringProperty object>
koji_builds = <neomodel.relationship_manager.RelationshipDefinition object>
name = <neomodel.properties.StringProperty object>
username = <neomodel.properties.UniqueIdProperty object>