@@ -84,9 +84,11 @@ class ExperimentCreate(ExperimentModify):
8484 experiment_set_urn : Optional [str ] = None
8585
8686 @field_validator ("experiment_set_urn" )
87- def validate_experiment_urn (cls , v : str ) -> str :
88- if (urn_re .MAVEDB_EXPERIMENT_SET_URN_RE .fullmatch (v ) is None ) and (
89- urn_re .MAVEDB_TMP_URN_RE .fullmatch (v ) is None
87+ def validate_experiment_urn (cls , v : Optional [str ]) -> Optional [str ]:
88+ if (
89+ v is not None
90+ and (urn_re .MAVEDB_EXPERIMENT_SET_URN_RE .fullmatch (v ) is None )
91+ and (urn_re .MAVEDB_TMP_URN_RE .fullmatch (v ) is None )
9092 ):
9193 raise ValueError (f"'{ v } ' is not a valid experiment set URN" )
9294 return v
@@ -130,7 +132,9 @@ def publication_identifiers_validator(cls, v: Any, info: ValidationInfo) -> list
130132 # the appropriate field on the model itself. Then, proceed with Pydantic ingestion once fields are created.
131133 @model_validator (mode = "before" )
132134 def generate_primary_and_secondary_publications (cls , data : Any ):
133- if not hasattr (data , "primary_publication_identifiers" ) or not hasattr (data , "secondary_publication_identifiers" ):
135+ if not hasattr (data , "primary_publication_identifiers" ) or not hasattr (
136+ data , "secondary_publication_identifiers"
137+ ):
134138 try :
135139 publication_identifiers = transform_publication_identifiers_to_primary_and_secondary (
136140 data .publication_identifier_associations
0 commit comments