#!/usr/bin/env python
# -*- coding: utf-8 -*-

""":Mod: names

:Synopsis:

:Author:
    servilla
    costa
    ide

:Created:
    6/18/18
"""
import daiquiri


logger = daiquiri.getLogger("names: " + __name__)


# Named constants for EML metadata element names
ABSTRACT = "abstract"
ACCESS = "access"
ACCURACY = "accuracy"
ACKNOWLEDGEMENTS = "ackknowledgements"
ADDITIONALINFO = "additionalInfo"
ADDITIONALMETADATA = "additionalMetadata"
ADDRESS = "address"
ADMINISTRATIVEAREA = "administrativeArea"
ALLOW = "allow"
ALTERNATEIDENTIFIER = "alternateIdentifier"
ALTITUDEMAXIMUM = "altitudeMaximum"
ALTITUDEMINIMUM = "altitudeMinimum"
ALTITUDEUNITS = "altitudeUnits"
ANNOTATION = "annotation"
ASSOCIATEDPARTY = "associatedParty"
ATTRIBUTE = "attribute"
ATTRIBUTEACCURACYEXPLANATION = "attributeAccuracyExplanation"
ATTRIBUTEACCURACYREPORT = "attributeAccuracyReport"
ATTRIBUTEACCURACYVALUE = "attributeAccuracyValue"
ATTRIBUTEDEFINITION = "attributeDefinition"
ATTRIBUTELABEL = "attributeLabel"
ATTRIBUTELIST = "attributeList"
ATTRIBUTENAME = "attributeName"
ATTRIBUTEORIENTATION = "attributeOrientation"
AUTHENTICATION = "authentication"
AWARD = "award"
AWARDNUMBER = "awardNumber"
AWARDURL = "awardUrl"
BANDGAPBYTES = "bandgapbytes"
BANDROWBYTES = "bandrowbytes"
BEGINDATE = "beginDate"
BINARYRASTERFORMAT = "binaryRasterFormat"
BOUNDINGALTITUDES = "boundingAltitudes"
BOUNDINGCOORDINATES = "boundingCoordinates"
BOUNDS = "bounds"
BYTEORDER = "byteorder"
CALENDARDATE = "calendarDate"
CASESENSITIVE = "caseSensitive"
CHARACTERENCODING = "characterEncoding"
CITATION = "citation"
CITY = "city"
CODE = "code"
CODEDEFINITION = "codeDefinition"
CODEEXPLANATION = "codeExplanation"
CODESETNAME = "codesetName"
CODESETURL = "codesetURL"
COLLAPSEDELIMITERS = "collapseDelimiters"
COMMONNAME = "commonName"
COMPLEX = "complex"
COMPRESSIONMETHOD = "compressionMethod"
CONNECTION = "connection"
CONTACT = "contact"
COVERAGE = "coverage"
COUNTRY = "country"
CREATOR = "creator"
CUSTOMUNIT = "customUnit"
DATAFORMAT = "dataFormat"
DATASET = "dataset"
DATASOURCE = "dataSource"
DATATABLE = "dataTable"
DATETIME = "dateTime"
DATETIMEDOMAIN = "dateTimeDomain"
DATETIMEPRECISION = "dateTimePrecision"
DEFINITION = "definition"
DEFINITIONATTRIBUTEREFERENCE = "definitionAttributeReference"
DELIVERYPOINT = "deliveryPoint"
DENY = "deny"
DESCRIBES = "describes"
DESCRIPTION = "description"
DESCRIPTOR = "descriptor"
DESCRIPTORVALUE = "descriptorValue"
DISTRIBUTION = "distribution"
EASTBOUNDINGCOORDINATE = "eastBoundingCoordinate"
ELECTRONICMAILADDRESS = "electronicMailAddress"
ENTITYCODELIST = "entityCodeList"
ENTITYREFERENCE = "entityReference"
EXTERNALCODESET = "externalCodeSet"
EXTERNALLYDEFINEDFORMAT = "externallyDefinedFormat"
EML = "eml"
EMPHASIS = "emphasis"
ENCODINGMETHOD = "encodingMethod"
ENDDATE = "endDate"
ENTITYDESCRIPTION = "entityDescription"
ENTITYNAME = "entityName"
ENTITYTYPE = "entityType"
ENUMERATEDDOMAIN = "enumeratedDomain"
FIELDDELIMITER = "fieldDelimiter"
FIELDSTARTCOLUMN = "fieldStartColumn"
FIELDWIDTH = "fieldWidth"
FORMATNAME = "formatName"
FORMATSTRING = "formatString"
FORMATVERSION = "formatVersion"
FUNDERIDENTIFIER = "funderIdentifier"
FUNDERNAME = "funderName"
FUNDING = "funding"
GIVENNAME = "givenName"
GENERALTAXONOMICCOVERAGE = "generalTaxonomicCoverage"
GEOGRAPHICCOVERAGE = "geographicCoverage"
GEOGRAPHICDESCRIPTION = "geographicDescription"
GETTINGSTARTED = "gettingStarted"
IDENTIFIER = "identifier"
INDIVIDUALNAME = "individualName"
INLINE = "inline"
INSTRUMENTATION = "instrumentation"
INTELLECTUALRIGHTS = "intellectualRights"
INTERVAL = "interval"
INTRODUCTION = "introduction"
ITEMIZEDLIST = "itemizedlist"
KEYWORD = "keyword"
KEYWORDSET = "keywordSet"
KEYWORDTHESAURUS = "keywordThesaurus"
LANGUAGE = "language"
LAYOUT = "layout"
LICENSED = "licensed"
LICENSENAME = "licenseName"
LINENUMBER = "lineNumber"
LISTITEM = "listitem"
LITERALCHARACTER = "literalCharacter"
LITERALLAYOUT = "literalLayout"
MAINTENANCE = 'maintenance'
MAINTENANCEUPDATEFREQUENCY = 'maintenanceUpdateFrequency'
MARKDOWN = "markdown"
MAXIMUM = "maximum"
MAXRECORDLENGTH = "maxRecordLength"
MEASUREMENTSCALE = "measurementScale"
MEDIUMNAME = "mediumName"
MEDIUMDENSITY = "mediumDensity"
MEDIUMDENSITYUNITS = "mediumDensityUnits"
MEDIUMVOLUME = "mediumVolume"
MEDIUMFORMAT = "mediumFormat"
MEDIUMNOTE = "mediumNote"
METADATA = "metadata"
METADATAPROVIDER = "metadataProvider"
METHODS = "methods"
METHODSTEP = "methodStep"
MISSINGVALUECODE = "missingValueCode"
MINIMUM = "minimum"
MULTIBAND = "multiBand"
NBANDS = "nbands"
NBITS = "nbits"
NOMINAL = "nominal"
NONNUMERICDOMAIN = "nonNumericDomain"
NORTHBOUNDINGCOORDINATE = "northBoundingCoordinate"
NUMBEROFRECORDS = "numberOfRecords"
NUMBERTYPE = "numberType"
NUMERICDOMAIN = "numericDomain"
NUMFOOTERLINES = "numFooterLines"
NUMHEADERLINES = "numHeaderLines"
NUMPHYSICALLINESPERRECORD = "numPhysicalLinesPerRecord"
OBJECTNAME = "objectName"
OFFLINE = "offline"
ONLINE = "online"
ONLINEDESCRIPTION = "onlineDescription"
ONLINEURL = "onlineUrl"
ORDERATTRIBUTEREFERENCE = "orderAttributeReference"
ORDEREDLIST = "orderedlist"
ORDINAL = "ordinal"
ORGANIZATIONNAME = "organizationName"
OTHERENTITY = "otherEntity"
PARA = "para"
PATTERN = "pattern"
PERMISSION = "permission"
PERSONNEL = "personnel"
PHONE = "phone"
PHYSICAL = "physical"
PHYSICALLINEDELIMITER = "physicalLineDelimiter"
POSITIONNAME = "positionName"
POSTALCODE = "postalCode"
PRECISION = "precision"
PRINCIPAL = "principal"
PROJECT = "project"
PROPERTYURI = "propertyURI"
PROVIDER = "provider"
PUBDATE = "pubDate"
PUBLISHER = "publisher"
PUBPLACE = "pubPlace"
PURPOSE = "purpose"
QUALITYCONTROL = "qualityControl"
QUANTITATIVEATTRIBUTEACCURACYASSESSMENT = (
    "quantitativeAttributeAccuracyAssessment"
)
QUOTECHARACTER = "quoteCharacter"
RANGEOFDATES = "rangeOfDates"
RATIO = "ratio"
REFERENCES = "references"
RELATED_PROJECT = "relatedProject"
ROLE = "role"
ROWCOLUMNORIENTATION = "rowColumnOrientation"
RECORDDELIMITER = "recordDelimiter"
SALUTATION = "salutation"
SAMPLING = "sampling"
SAMPLINGDESCRIPTION = "samplingDescription"
SECTION = "section"
SERIES = "series"
SHORTNAME = "shortName"
SIMPLEDELIMITED = "simpleDelimited"
SINGLEDATETIME = "singleDateTime"
SIZE = "size"
SKIPBYTES = "skipbytes"
SOURCE = "source"
SOUTHBOUNDINGCOORDINATE = "southBoundingCoordinate"
STANDARDUNIT = "standardUnit"
STORAGETYPE = "storageType"

# The following is commented out to accommodate any downstream code that does not support studyAreaDescription in EML
# STUDYAREADESCRIPTION = "studyAreaDescription"

STUDYEXTENT = "studyExtent"
SUBSCRIPT = "subscript"
SUPERSCRIPT = "superscript"
SURNAME = "surName"
TAXONID = "taxonId"
TAXONOMICCLASSIFICATION = "taxonomicClassification"
TAXONOMICCOVERAGE = "taxonomicCoverage"
TAXONRANKNAME = "taxonRankName"
TAXONRANKVALUE = "taxonRankValue"
TEXTDELIMITED = "textDelimited"
TEXTDOMAIN = "textDomain"
TEXTFIXED = "textFixed"
TEXTFORMAT = "textFormat"
TEMPORALCOVERAGE = "temporalCoverage"
TIME = "time"
TITLE = "title"
TOTALROWBYTES = "totalrowbytes"
TYPESYSTEM = "typeSystem"
UNIT = "unit"
UNITLIST = "unitList"
URL = "url"
USERID = "userId"
VALUE = "value"
VALUEATTRIBUTEREFERENCE = "valueAttributeReference"
VALUEURI = "valueURI"
WESTBOUNDINGCOORDINATE = "westBoundingCoordinate"
