Switch to using $ instead of # for sub-types

# is reserved by the swagger validator as a way to include partial content from a JSON object (eg: "#/path" would include {"test": true} from the object {"path":{"test":true}}). Instead of trying to convince the validator that it is wrong, we'll just use a different character.

Note that our rendering tools do not care about #-style references to objects. It's still somewhat worth changing the character though.
pull/977/head
Travis Ralston 6 years ago
parent c25afa663e
commit d6d74c4cbe

@ -56,7 +56,7 @@ paths:
example: {
"events": [
{"$ref": "../../event-schemas/examples/m.room.member"},
{"$ref": "../../event-schemas/examples/m.room.message#m.text"}
{"$ref": "../../event-schemas/examples/m.room.message$m.text"}
]
}
description: Transaction information

@ -105,18 +105,18 @@ paths:
"events_after": [
{
"room_id": "!636q39766251:example.com",
"$ref": "definitions/event-schemas/examples/m.room.message#m.text"
"$ref": "definitions/event-schemas/examples/m.room.message$m.text"
}
],
"event": {
"event_id": "$f3h4d129462ha:example.com",
"room_id": "!636q39766251:example.com",
"$ref": "definitions/event-schemas/examples/m.room.message#m.image"
"$ref": "definitions/event-schemas/examples/m.room.message$m.image"
},
"events_before": [
{
"room_id": "!636q39766251:example.com",
"$ref": "definitions/event-schemas/examples/m.room.message#m.file"
"$ref": "definitions/event-schemas/examples/m.room.message$m.file"
}
],
"start": "t27-54_2_0_2",

@ -115,7 +115,7 @@ paths:
"chunk": [
{
"room_id": "!636q39766251:example.com",
"$ref": "definitions/event-schemas/examples/m.room.message#m.text"
"$ref": "definitions/event-schemas/examples/m.room.message$m.text"
},
{
"room_id": "!636q39766251:example.com",
@ -123,7 +123,7 @@ paths:
},
{
"room_id": "!636q39766251:example.com",
"$ref": "definitions/event-schemas/examples/m.room.message#m.video"
"$ref": "definitions/event-schemas/examples/m.room.message$m.video"
}
]
}

@ -75,7 +75,7 @@ paths:
"room_id": "!abcdefg:example.com",
"ts": 1475508881945,
"event": {
"$ref": "definitions/event-schemas/examples/m.room.message#m.text"
"$ref": "definitions/event-schemas/examples/m.room.message$m.text"
}
}
]

@ -64,7 +64,7 @@ paths:
"start": "s3456_9_0",
"end": "s3457_9_0",
"chunk": [
{"$ref": "definitions/event-schemas/examples/m.room.message#m.text"}
{"$ref": "definitions/event-schemas/examples/m.room.message$m.text"}
]
}
schema:
@ -148,11 +148,11 @@ paths:
"chunk": [
{
"room_id": "!TmaZBKYIFrIPVGoUYp:localhost",
"$ref": "definitions/event-schemas/examples/m.room.message#m.text"
"$ref": "definitions/event-schemas/examples/m.room.message$m.text"
},
{
"room_id": "!TmaZBKYIFrIPVGoUYp:localhost",
"$ref": "definitions/event-schemas/examples/m.room.message#m.video"
"$ref": "definitions/event-schemas/examples/m.room.message$m.video"
}
],
"end": "s3456_9_0",
@ -326,7 +326,7 @@ paths:
200:
description: The full event.
examples:
application/json: {"$ref": "definitions/event-schemas/examples/m.room.message#m.text"}
application/json: {"$ref": "definitions/event-schemas/examples/m.room.message$m.text"}
schema:
allOf:
- "$ref": "definitions/event-schemas/schema/core-event-schema/event.yaml"

@ -76,7 +76,7 @@ paths:
"chunk": [
{
"room_id": "!somewhere:over.the.rainbow",
"$ref": "definitions/event-schemas/examples/m.room.message#m.text"
"$ref": "definitions/event-schemas/examples/m.room.message$m.text"
}
]
}

@ -44,11 +44,11 @@ paths:
"chunk": [
{
"room_id": "!636q39766251:example.com",
"$ref": "definitions/event-schemas/examples/m.room.message#m.text"
"$ref": "definitions/event-schemas/examples/m.room.message$m.text"
},
{
"room_id": "!636q39766251:example.com",
"$ref": "definitions/event-schemas/examples/m.room.message#m.file"
"$ref": "definitions/event-schemas/examples/m.room.message$m.file"
}
],
"end": "s3456_9_0",

@ -55,7 +55,7 @@ paths:
examples:
application/json: {
"room_id": "!636q39766251:matrix.org",
"$ref": "definitions/event-schemas/examples/m.room.message#m.text"
"$ref": "definitions/event-schemas/examples/m.room.message$m.text"
}
schema:
allOf:

@ -349,7 +349,7 @@ paths:
"result": {
"room_id": "!qPewotXpIctQySfjSy:localhost",
"event_id": "$144429830826TWwbB:localhost",
"$ref": "definitions/event-schemas/examples/m.room.message#m.text"
"$ref": "definitions/event-schemas/examples/m.room.message$m.text"
}
}
]

@ -342,7 +342,7 @@ paths:
},
{
"room_id": "!726s6s6q:example.com",
"$ref": "definitions/event-schemas/examples/m.room.message#m.text"
"$ref": "definitions/event-schemas/examples/m.room.message$m.text"
}
],
"limited": true,

@ -112,8 +112,8 @@ def check_example_dir(exampledir, schemadir):
continue
examplepath = os.path.join(root, filename)
schemapath = examplepath.replace(exampledir, schemadir)
if schemapath.find("#") >= 0:
schemapath = schemapath[:schemapath.find("#")]
if schemapath.find("$") >= 0:
schemapath = schemapath[:schemapath.find("$")]
try:
check_example_file(examplepath, schemapath)
except Exception as e:

@ -115,7 +115,7 @@ class MatrixSections(Sections):
schemas = self.units.get("event_schemas")
renders = {}
for event_type in schemas:
underscored_event_type = event_type.replace(".", "_").replace("#", "_")
underscored_event_type = event_type.replace(".", "_").replace("$", "_")
renders[underscored_event_type + "_event"] = self._render_events(
lambda x: x == event_type, sorted
)
@ -125,7 +125,7 @@ class MatrixSections(Sections):
def filterFn(eventType):
return (
eventType.startswith("m.room") and
not eventType.startswith("m.room.message#m.")
not eventType.startswith("m.room.message$m.")
)
return self._render_events(filterFn, sorted)
@ -138,22 +138,22 @@ class MatrixSections(Sections):
]["subtitle"]
sections = []
msgtype_order = [
"m.room.message#m.text", "m.room.message#m.emote",
"m.room.message#m.notice", "m.room.message#m.image",
"m.room.message#m.file"
"m.room.message$m.text", "m.room.message$m.emote",
"m.room.message$m.notice", "m.room.message$m.image",
"m.room.message$m.file"
]
excluded_types = [
# We exclude server notices from here because we handle them in a
# dedicated module. We do not want to confuse developers this early
# in the spec.
"m.room.message#m.server_notice",
"m.room.message$m.server_notice",
]
other_msgtypes = [
k for k in schemas.keys() if k.startswith("m.room.message#") and
k for k in schemas.keys() if k.startswith("m.room.message$") and
k not in msgtype_order and k not in excluded_types
]
for event_name in (msgtype_order + other_msgtypes):
if not event_name.startswith("m.room.message#m."):
if not event_name.startswith("m.room.message$m."):
continue
sections.append(template.render(
example=examples[event_name][0],

@ -795,7 +795,7 @@ class MatrixUnits(Units):
if not filename.startswith("m."):
continue
event_name = filename.split("#")[0]
event_name = filename.split("$")[0]
filepath = os.path.join(path, filename)
logger.info("Reading event example: %s" % filepath)
try:

Loading…
Cancel
Save