@@ -57,6 +57,17 @@ def config_from_file(self, file_name):
5757 self .default_unitid = config .default_unitid
5858 self .default_samplemedium = config .default_samplemedium
5959
60+ '''
61+ For WML 1.0 many terms were embedded in the Schemas, which made them not expandable.
62+ This provides a standard warning message
63+ '''
64+ def invalid_enum_message (self ,name ,value , default = None ):
65+ message = "WaterML 1.0 schema enum issue '{}' not in {}. Use the cuashi_1_1 endpoint " .format (value ,name )
66+ if default is not None :
67+ message = "Substituted '" + default + "'. " + message
68+ return message
69+
70+
6071 def create_get_site_response (self , siteArg = None ):
6172
6273 if siteArg == None or siteArg == '' :
@@ -384,7 +395,9 @@ def check_censorCode(self, censorCode):
384395 if (censorCode in valueList ):
385396 return censorCode
386397 else :
398+ logging .info (self .invalid_enum_message ( 'censorCode' , censorCode ))
387399 return default
400+
388401 def check_QualityControlLevel (self , QualityControlLevel ):
389402 default = "Unknown"
390403 valueList = [
@@ -398,6 +411,7 @@ def check_QualityControlLevel(self, QualityControlLevel):
398411 if (QualityControlLevel in valueList ):
399412 return QualityControlLevel
400413 else :
414+ logging .info (self .invalid_enum_message ( 'QualityControlLevel' , QualityControlLevel ))
401415 return default
402416
403417 #TODO: lots more stuff to fill out here
@@ -602,7 +616,7 @@ def check_dataTypeEnum(self, datatype):
602616 if (datatype in valueList ):
603617 return datatype
604618 else :
605- logging .warn ( 'value outside of enum for datatype ' + datatype )
619+ logging .info ( self . invalid_enum_message ( ' datatype' , datatype ) )
606620 return default
607621
608622 def check_UnitsType (self , UnitsType ):
@@ -635,7 +649,7 @@ def check_UnitsType(self, UnitsType):
635649 if (UnitsType in valueList ):
636650 return UnitsType
637651 else :
638- logging .warn ( 'value outside of enum for UnitsType ' + UnitsType )
652+ logging .info ( self . invalid_enum_message ( ' UnitsType' , UnitsType , default = default ) )
639653 return default
640654
641655 def check_SampleMedium (self , SampleMedium ):
@@ -659,7 +673,7 @@ def check_SampleMedium(self, SampleMedium):
659673 if (SampleMedium in valueList ):
660674 return SampleMedium
661675 else :
662- logging .warn ( 'default returned: value outside of enum for SampleMedium ' + SampleMedium )
676+ logging .info ( self . invalid_enum_message ( ' SampleMedium' , SampleMedium ) )
663677 return default
664678
665679 def check_generalCategory (self , generalCategory ):
@@ -679,8 +693,8 @@ def check_generalCategory(self, generalCategory):
679693 if (generalCategory in valueList ):
680694 return generalCategory
681695 else :
682- logging .warn ( 'default returned: value outside of enum for generalCategory ' + generalCategory )
683- return default
696+ logging .info ( self . invalid_enum_message ( ' generalCategory' , generalCategory ) )
697+ return default
684698
685699 def check_valueType (self , valueType ):
686700 default = "Unknown"
@@ -697,8 +711,8 @@ def check_valueType(self, valueType):
697711 if (valueType in valueList ):
698712 return valueType
699713 else :
700- logging .warn ( 'default returned: value outside of enum for valueType ' + valueType )
701- return default
714+ logging .info ( self . invalid_enum_message ( ' valueType' , valueType ) )
715+ return default
702716
703717 def create_variable_element (self , variableResult ):
704718 clean_datatype = self .check_dataTypeEnum ( variableResult .DataType )
0 commit comments