Source code for hed.schema.schema_io.wiki_constants

from hed.schema.hed_schema_constants import HedSectionKey
from hed.schema.schema_io import df_constants
START_HED_STRING = "!# start schema"
END_SCHEMA_STRING = "!# end schema"
END_HED_STRING = "!# end hed"

ROOT_TAG = "'''"
END_TAG = "!#"
HEADER_LINE_STRING = "HED"
UNIT_CLASS_STRING = "'''Unit classes'''"
UNIT_MODIFIER_STRING = "'''Unit modifiers'''"
ATTRIBUTE_DEFINITION_STRING = "'''Schema attributes'''"
ATTRIBUTE_PROPERTY_STRING = "'''Properties'''"
VALUE_CLASS_STRING = "'''Value classes'''"
PROLOGUE_SECTION_ELEMENT = "'''Prologue'''"
EPILOGUE_SECTION_ELEMENT = "'''Epilogue'''"
SOURCES_SECTION_ELEMENT = "'''Sources'''"
PREFIXES_SECTION_ELEMENT = "'''Prefixes'''"
EXTERNAL_ANNOTATION_SECTION_ELEMENT = "'''External annotations'''"

WIKI_EXTRA_DICT = {'Sources': df_constants.SOURCES_KEY,
                   'Prefixes': df_constants.PREFIXES_KEY,
                   'External annotations': df_constants.EXTERNAL_ANNOTATION_KEY}


wiki_section_headers = {
    HedSectionKey.Tags: START_HED_STRING,
    HedSectionKey.UnitClasses: UNIT_CLASS_STRING,
    HedSectionKey.Units: None,
    HedSectionKey.UnitModifiers: UNIT_MODIFIER_STRING,
    HedSectionKey.ValueClasses: VALUE_CLASS_STRING,
    HedSectionKey.Attributes: ATTRIBUTE_DEFINITION_STRING,
    HedSectionKey.Properties: ATTRIBUTE_PROPERTY_STRING,
}


# these must always be in order under the current spec.
[docs]class HedWikiSection: HeaderLine = 2 Prologue = 3 Schema = 4 EndSchema = 5 UnitsClasses = 6 UnitModifiers = 7 ValueClasses = 8 Attributes = 9 Properties = 10 Epilogue = 11 Sources = 12 Prefixes = 13 ExternalAnnotations = 14 EndHed = 15
SectionStarts = { HedWikiSection.HeaderLine: HEADER_LINE_STRING, HedWikiSection.Prologue: PROLOGUE_SECTION_ELEMENT, HedWikiSection.Schema: START_HED_STRING, HedWikiSection.EndSchema: END_SCHEMA_STRING, HedWikiSection.UnitsClasses: UNIT_CLASS_STRING, HedWikiSection.UnitModifiers: UNIT_MODIFIER_STRING, HedWikiSection.ValueClasses: VALUE_CLASS_STRING, HedWikiSection.Attributes: ATTRIBUTE_DEFINITION_STRING, HedWikiSection.Properties: ATTRIBUTE_PROPERTY_STRING, HedWikiSection.Epilogue: EPILOGUE_SECTION_ELEMENT, HedWikiSection.Sources: SOURCES_SECTION_ELEMENT, HedWikiSection.Prefixes: PREFIXES_SECTION_ELEMENT, HedWikiSection.ExternalAnnotations: EXTERNAL_ANNOTATION_SECTION_ELEMENT, HedWikiSection.EndHed: END_HED_STRING } SectionReversed = {value: key for key, value in SectionStarts.items()} SectionNames = { HedWikiSection.HeaderLine: "Header", HedWikiSection.Prologue: "Prologue", HedWikiSection.Schema: "Schema", HedWikiSection.EndSchema: "EndSchema", HedWikiSection.UnitsClasses: "Unit Classes", HedWikiSection.UnitModifiers: "Unit Modifiers", HedWikiSection.ValueClasses: "Value Classes", HedWikiSection.Attributes: "Attributes", HedWikiSection.Properties: "Properties", HedWikiSection.EndHed: "EndHed" }