Merge pull request #2072 from matrix-org/travis/1.0/msc1717-msc1267-sas-verification
Spec SAS verification and the common key verification framework
This commit is contained in:
commit
4b6e2cc956
20 changed files with 850 additions and 15 deletions
|
@ -18,6 +18,7 @@ import inspect
|
|||
import json
|
||||
import os
|
||||
import logging
|
||||
import re
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
@ -225,3 +226,19 @@ class MatrixSections(Sections):
|
|||
examples=swagger_def['examples'],
|
||||
title_kind=subtitle_title_char)
|
||||
return rendered
|
||||
|
||||
def render_sas_emoji_table(self):
|
||||
emoji = self.units.get("sas_emoji")
|
||||
rendered = ".. csv-table::\n"
|
||||
rendered += " :header: \"Number\", \"Emoji\", \"Unicode\", \"Description\"\n"
|
||||
rendered += " :widths: 10, 10, 15, 20\n"
|
||||
rendered += "\n"
|
||||
for row in emoji:
|
||||
rendered += " %d, \"%s\", \"``%s``\", \"%s\"\n" % (
|
||||
row['number'],
|
||||
row['emoji'],
|
||||
row['unicode'],
|
||||
row['description'],
|
||||
)
|
||||
rendered += "\n"
|
||||
return rendered
|
||||
|
|
|
@ -59,6 +59,8 @@ TARGETS = os.path.join(matrix_doc_dir, "specification/targets.yaml")
|
|||
ROOM_EVENT = "core-event-schema/room_event.yaml"
|
||||
STATE_EVENT = "core-event-schema/state_event.yaml"
|
||||
|
||||
SAS_EMOJI_JSON = os.path.join(matrix_doc_dir, "data-definitions/sas-emoji.json")
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
# a yaml Loader which loads mappings into OrderedDicts instead of regular
|
||||
|
@ -1088,3 +1090,21 @@ class MatrixUnits(Units):
|
|||
"string": git_version,
|
||||
"revision": git_commit
|
||||
}
|
||||
|
||||
def load_sas_emoji(self):
|
||||
with open(SAS_EMOJI_JSON, 'r', encoding='utf-8') as sas_json:
|
||||
emoji = json.load(sas_json)
|
||||
|
||||
# Verify the emoji matches the unicode
|
||||
for c in emoji:
|
||||
e = c['emoji']
|
||||
logger.info("Checking emoji %s (%s)", e, c['description'])
|
||||
u = re.sub(r'U\+([0-9a-fA-F]+)', lambda m: chr(int(m.group(1), 16)), c['unicode'])
|
||||
if e != u:
|
||||
raise Exception("Emoji %s should be %s not %s" % (
|
||||
c['description'],
|
||||
repr(e),
|
||||
c['unicode'],
|
||||
))
|
||||
|
||||
return emoji
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue