Skip to content

Commit 541f1f7

Browse files
committed
feat: Add a config for openedx-events annotations
1 parent d99bb11 commit 541f1f7

File tree

1 file changed

+22
-12
lines changed

1 file changed

+22
-12
lines changed

code_annotations/contrib/sphinx/extensions/openedx_events.py

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
from code_annotations.contrib.config import OPENEDX_EVENTS_ANNOTATIONS_CONFIG_PATH
1010

11-
from .base import find_annotations, quote_value
11+
from .base import find_annotations
1212

1313

1414
def find_events(source_path):
@@ -72,43 +72,53 @@ def iter_nodes(self):
7272

7373
current_domain = ""
7474
domain_header = None
75+
current_subject = ""
76+
subject_header = None
7577

7678
for event_type in sorted(events):
7779
domain = event_type.split(".")[2]
80+
subject = event_type.split(".")[3]
7881
if domain != current_domain:
7982
if domain_header:
8083
yield domain_header
8184

8285
current_domain = domain
8386
domain_header = nodes.section("", ids=[f"openedxevent-domain-{domain}"])
84-
domain_header += nodes.title(text=f"Architectural domain: {domain}")
87+
domain_header += nodes.title(text=f"Architectural subdomain: {domain}")
88+
if subject != current_subject:
89+
current_subject = subject
90+
subject_header = nodes.section("", ids=[f"openedxevent-subject"
91+
f"-{subject}"])
92+
subject_header += nodes.title(text=f"Subject: {subject}")
93+
domain_header += subject_header
8594

8695
event = events[event_type]
8796
event_name = event[".. event_name:"]
88-
event_name_literal = nodes.literal(text=quote_value(event_name))
97+
event_name_literal = nodes.literal(text=event_name)
8998
event_data = event[".. event_data:"]
90-
event_key_field = event.get(".. event_key_field:", None)
91-
event_key_literal = nodes.literal(text=quote_value(event_key_field))
99+
event_data_literal = nodes.literal(text=event_data)
100+
event_key_field = event.get(".. event_key_field:", "")
101+
event_key_literal = nodes.literal(text=event_key_field)
92102
event_description = event[".. event_description:"]
93103

94104
event_section = nodes.section("", ids=[f"openedxevent-{event_type}"])
95105
event_section += nodes.title(text=event_type, ids=[f"title-{event_type}"])
96-
event_section += nodes.paragraph("", "Signal name:", event_name_literal)
106+
event_section += nodes.paragraph(text=f"Description:"
107+
f"{event_description}")
108+
event_section += nodes.paragraph(" ", "Signal name:", event_name_literal)
97109
if event_key_field:
98110
event_section += nodes.paragraph(
99-
"",
100-
"Event key field:",
111+
" ",
112+
"Event key field: ",
101113
event_key_literal
102114
)
103-
event_section += nodes.paragraph(text=f"Description:"
104-
f" {event_description}")
105-
event_section += nodes.paragraph(text=f"Event data: {event_data}")
115+
event_section += nodes.paragraph(" ", "Event data:", event_data_literal)
106116
event_section += nodes.paragraph(
107117
text=f"Defined at: {event['filename']} (line"
108118
f" {event['line_number']})"
109119
)
110120

111-
domain_header += event_section
121+
subject_header += event_section
112122

113123
if domain_header:
114124
yield domain_header

0 commit comments

Comments
 (0)