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

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
serialized

Convert a model to serialized form.

Returns:a serialized form of the node
Return type:dictionary
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
timeline_datetime

Get the DateTime property used for the Estuary timeline.

timeline_timestamp

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

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>
classification = <neomodel.properties.StringProperty object>
creation_time = <neomodel.properties.DateTimeProperty object>
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>
timeline_datetime

Get the DateTime property used for the Estuary timeline.

votes = <neomodel.properties.IntegerProperty object>

DistGit

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

Definition of a dist-git branch in Neo4j.

DoesNotExist

alias of neomodel.core.DistGitBranchDoesNotExist

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

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

name = <neomodel.properties.StringProperty object>
repo_name = <neomodel.properties.StringProperty object>
repo_namespace = <neomodel.properties.StringProperty object>
repos = <neomodel.relationship_manager.RelationshipDefinition object>
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>
branches = <neomodel.relationship_manager.RelationshipDefinition object>
children = <neomodel.relationship_manager.RelationshipDefinition object>
commit_date = <neomodel.properties.DateTimeProperty object>
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>
parent = <neomodel.relationship_manager.RelationshipDefinition 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>
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

branches = <neomodel.relationship_manager.RelationshipDefinition object>
commits = <neomodel.relationship_manager.RelationshipDefinition object>
contributors = <neomodel.relationship_manager.RelationshipDefinition object>
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>
content_types = <neomodel.properties.ArrayProperty object>
created_at = <neomodel.properties.DateTimeProperty object>
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>
product_short_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>
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>
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 = <neomodel.properties.IntegerProperty 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_ = <neomodel.properties.IntegerProperty object>
type_name = <neomodel.properties.StringProperty object>
url = <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

display_name

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

event_type_id = <neomodel.properties.IntegerProperty object>
id_ = <neomodel.properties.UniqueIdProperty object>
message_id = <neomodel.properties.StringProperty object>
requested_builds = <neomodel.relationship_manager.RelationshipDefinition object>
state = <neomodel.properties.IntegerProperty 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>
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>
display_name

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

epoch = <neomodel.properties.StringProperty object>
extra = <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>
tags = <neomodel.relationship_manager.RelationshipDefinition object>
timeline_datetime

Get the DateTime property used for the Estuary timeline.

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

Definition of a Koji tag in Neo4j.

DoesNotExist

alias of neomodel.core.KojiTagDoesNotExist

builds = <neomodel.relationship_manager.RelationshipDefinition object>
display_name

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

id_ = <neomodel.properties.UniqueIdProperty object>
module_builds = <neomodel.relationship_manager.RelationshipDefinition object>
name = <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>
content_koji_tag = <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>
display_name

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

distgit_authored_commits = <neomodel.relationship_manager.RelationshipDefinition object>
distgit_branches = <neomodel.relationship_manager.RelationshipDefinition object>
distgit_repos = <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>