Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion errata_ws/db/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ def _get_facets():

for i in facets:
if i.issue_uid == self.uid:
result[i.facet_type] = i.facet_value
result[i.facet_type].append(i.facet_value)

return dict(result)

Expand Down
4 changes: 2 additions & 2 deletions errata_ws/handlers/publication/create.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ def _validate_issue_datasets():
if re.search(constants.VERSION_REGEX, dset) is None:
raise exceptions.MissingVersionNumber(dset)

validate_dataset_id(self.request.data[constants.JF_PROJECT], sanitized_datasets[0].split("#")[0])
validate_dataset_id(self.request.data[constants.JF_PROJECT], dset.split("#")[0])


def _validate_user_access():
Expand Down Expand Up @@ -98,7 +98,7 @@ def _persist():
entities = get_entities_on_errata_create(self.request.data, self.user_id, self.user_role)

# Insert issue first so that the foreign keys can be established.
db.session.insert(entities[0])
db.session.insert(entities[0], auto_commit=False)

# Insert facets/resources/pid-tasks.
for entity in entities[1:]:
Expand Down
6 changes: 3 additions & 3 deletions errata_ws/handlers/publication/propose.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ def _validate_issue_datasets():
if re.search(constants.VERSION_REGEX, dset) is None:
raise exceptions.MissingVersionNumber(dset)

# Exception if esgvoc dataset parsing fails.
validate_dataset_id(self.request.data[constants.JF_PROJECT], sanitized_datasets[0].split("#")[0])
# Exception if esgvoc dataset parsing fails.
validate_dataset_id(self.request.data[constants.JF_PROJECT], dset.split("#")[0])


def _validate_issue_title():
Expand Down Expand Up @@ -89,7 +89,7 @@ def _persist():
entities = get_entities_on_errata_propose(self.request.data, self.request.data["userEmail"])

# Insert errata.
db.session.insert(entities[0])
db.session.insert(entities[0], auto_commit=False)

# Insert associated entities (facets/resources/pid-tasks).
for entity in entities[1:]:
Expand Down
6 changes: 3 additions & 3 deletions errata_ws/utils/http.py
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ def write_error(handler, error):
_write(handler, {
'error_code': ERROR_CODES.get(type(error), 999),
'error_field': getattr(error, 'field', '--'),
'error_message': error.message.strip(),
'error_message': str(error).strip(),
'error_type': type(error).__name__
})

Expand All @@ -210,8 +210,8 @@ def _write_success(handler):
try:
data = handler.output
except AttributeError:
data = str()
encoding = None
data = {}
encoding = "json"

# Write respponse.
_write(handler, data, encoding)
Expand Down
28 changes: 18 additions & 10 deletions errata_ws/utils/publisher.py
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ def _get_facets(issue, obj):

"""
facets = []
unique_facets = set()

# Core facets.
for facet_type in {
Expand All @@ -171,23 +172,30 @@ def _get_facets(issue, obj):
FACET_TYPE_SEVERITY,
FACET_TYPE_STATUS
}:
facet = IssueFacet()
facet.project = issue.project
facet.issue_uid = issue.uid
facet.facet_type = facet_type
if facet_type == FACET_TYPE_MODERATION_STATUS:
facet.facet_value = issue.moderation_status.lower()
facet_value = issue.moderation_status.lower()
else:
facet.facet_value = getattr(issue, facet_type).lower()
facets.append(facet)
facet_value = getattr(issue, facet_type).lower()
unique_facets.add((facet_type, facet_value))

# Project specific facets.
for collection, term in validate_dataset_id(obj[JF_PROJECT], obj[JF_DATASETS][0].split("#")[0])["mapping_used"].items():
for dataset in obj[JF_DATASETS]:
mapping = validate_dataset_id(
obj[JF_PROJECT],
dataset.split("#")[0]
)["mapping_used"]

for collection, term in mapping.items():
unique_facets.add((collection, term))

# Create entities.
for facet_type, facet_value in unique_facets:
facet = IssueFacet()
facet.project = issue.project
facet.issue_uid = issue.uid
facet.facet_type = collection
facet.facet_value = term
facet.facet_type = facet_type
facet.facet_value = facet_value

facets.append(facet)

return facets
Expand Down