Skip to content

Commit b9a252f

Browse files
committed
Owner _or_ Folder
1 parent 8271097 commit b9a252f

File tree

2 files changed

+16
-10
lines changed

2 files changed

+16
-10
lines changed

aws_doc_sdk_examples_tools/metadata.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ class FeedbackCti:
3939
type: str
4040
item: str
4141

42+
def __str__(self):
43+
return f"{self.category} | {self.type} | {self.item}"
44+
4245

4346
@dataclass
4447
class Excerpt:
@@ -75,8 +78,7 @@ class Version:
7578
# List of people who have contributed to this example.
7679
authors: List[Person] = field(default_factory=list)
7780
# Feedback and maintenance owner. Primarily for internal use.
78-
owner: Optional[FeedbackCti] = field(default=None)
79-
folder: Optional[str] = field(default=None)
81+
owner: Optional[str] = field(default=None)
8082
# Link to the original tributary that contributed this version.
8183
source: Optional[Url] = field(default=None)
8284

aws_doc_sdk_examples_tools/yaml_mapper.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
# SPDX-License-Identifier: Apache-2.0
33

44
from typing import Dict, Set, Tuple, Any, List, Optional, Union
5-
from pathlib import Path
65
from .metadata import (
76
Example,
87
Language,
@@ -284,12 +283,18 @@ def version_from_yaml(
284283
elif author is not None:
285284
errors.append(author)
286285

287-
owner = feedback_cti_from_yaml(yaml.get("owner"))
288-
if owner is not None and not isinstance(owner, FeedbackCti):
289-
errors.append(owner)
290-
owner = None
291-
292-
folder = yaml.get("folder")
286+
# `owner` and `folder` are equivalent keys
287+
owner_yaml = yaml.get("owner", yaml.get("folder"))
288+
# use as-is for strings, otherwise try to parse them as CTI
289+
if isinstance(owner_yaml, str):
290+
owner = owner_yaml
291+
else:
292+
owner_cti = feedback_cti_from_yaml(owner_yaml)
293+
if owner_cti is not None and not isinstance(owner_cti, FeedbackCti):
294+
errors.append(owner_cti)
295+
owner = None
296+
else:
297+
owner = str(owner_cti)
293298

294299
add_services = parse_services(yaml.get("add_services", {}), errors)
295300
if add_services:
@@ -323,7 +328,6 @@ def version_from_yaml(
323328
authors,
324329
owner,
325330
source,
326-
folder,
327331
),
328332
errors,
329333
)

0 commit comments

Comments
 (0)