5454 "TRANSFORM_FILTERERS_DEFAULT_CLF" ,
5555 "PATTERNS_DESCRIPTION_CLF" ,
5656 "ROOT_TRANSFORMS_CLF" ,
57+ "VALUE_DEFAULT_UNDEFINED" ,
5758 "clf_transform_relative_path" ,
5859 "CLFTransformID" ,
5960 "CLFTransform" ,
140141the local 'transforms/clf' directory.
141142"""
142143
144+ VALUE_DEFAULT_UNDEFINED : str = "undefined"
145+ """
146+ Default undefined value, i.e., *undefined*.
147+ """
148+
143149
144150def clf_transform_relative_path (
145151 path : str , root_directory : str = ROOT_TRANSFORMS_CLF
@@ -194,23 +200,23 @@ class CLFTransformID:
194200 __repr__
195201 """
196202
197- def __init__ (self , clf_transform_id : str ) -> None :
203+ def __init__ (self , clf_transform_id : str = VALUE_DEFAULT_UNDEFINED ) -> None :
198204 self ._clf_transform_id : str = clf_transform_id
199205
200- self ._urn : str | None = None
201- self ._type : str | None = None
202- self ._namespace : str | None = None
203- self ._name : str | None = None
204- self ._major_version : str | None = None
205- self ._minor_version : str | None = None
206- self ._patch_version : str | None = None
207- self ._source : str | None = None
208- self ._target : str | None = None
206+ self ._urn : str = VALUE_DEFAULT_UNDEFINED
207+ self ._type : str = VALUE_DEFAULT_UNDEFINED
208+ self ._namespace : str = VALUE_DEFAULT_UNDEFINED
209+ self ._name : str = VALUE_DEFAULT_UNDEFINED
210+ self ._major_version : str = VALUE_DEFAULT_UNDEFINED
211+ self ._minor_version : str = VALUE_DEFAULT_UNDEFINED
212+ self ._patch_version : str = VALUE_DEFAULT_UNDEFINED
213+ self ._source : str = VALUE_DEFAULT_UNDEFINED
214+ self ._target : str = VALUE_DEFAULT_UNDEFINED
209215
210216 self ._parse ()
211217
212218 @property
213- def clf_transform_id (self ) -> str | None :
219+ def clf_transform_id (self ) -> str :
214220 """
215221 Getter property for the *CLFtransformID*, e.g.,
216222 *urn:aswf:ocio:transformId:v1.0:ACES.OCIO.AP0_to_AP1-Gamma2pnt2.c1.v1*.
@@ -228,7 +234,7 @@ def clf_transform_id(self) -> str | None:
228234 return self ._clf_transform_id
229235
230236 @property
231- def urn (self ) -> str | None :
237+ def urn (self ) -> str :
232238 """
233239 Getter property for the *CLFtransformID* Uniform Resource Name (*URN*),
234240 e.g., *urn:aswf:ocio:transformId:v1.0*.
@@ -246,7 +252,7 @@ def urn(self) -> str | None:
246252 return self ._urn
247253
248254 @property
249- def type (self ) -> str | None :
255+ def type (self ) -> str :
250256 """
251257 Getter property for the *CLFtransformID* type, e.g., *ACES*.
252258
@@ -263,7 +269,7 @@ def type(self) -> str | None:
263269 return self ._type
264270
265271 @property
266- def namespace (self ) -> str | None :
272+ def namespace (self ) -> str :
267273 """
268274 Getter property for the *CLFtransformID* namespace, e.g., *OCIO*.
269275
@@ -280,7 +286,7 @@ def namespace(self) -> str | None:
280286 return self ._namespace
281287
282288 @property
283- def name (self ) -> str | None :
289+ def name (self ) -> str :
284290 """
285291 Getter property for the *CLFtransformID* name, e.g.,
286292 *AP0_to_AP1-Gamma2pnt2*.
@@ -298,7 +304,7 @@ def name(self) -> str | None:
298304 return self ._name
299305
300306 @property
301- def major_version (self ) -> str | None :
307+ def major_version (self ) -> str :
302308 """
303309 Getter property for the *CLFtransformID* major version number, e.g., *c1*.
304310
@@ -315,7 +321,7 @@ def major_version(self) -> str | None:
315321 return self ._major_version
316322
317323 @property
318- def minor_version (self ) -> str | None :
324+ def minor_version (self ) -> str :
319325 """
320326 Getter property for the *CLFtransformID* minor version number, e.g., *v1*.
321327
@@ -332,7 +338,7 @@ def minor_version(self) -> str | None:
332338 return self ._minor_version
333339
334340 @property
335- def patch_version (self ) -> str | None :
341+ def patch_version (self ) -> str :
336342 """
337343 Getter property for the *CLFtransformID* patch version number.
338344
@@ -349,7 +355,7 @@ def patch_version(self) -> str | None:
349355 return self ._patch_version
350356
351357 @property
352- def source (self ) -> str | None :
358+ def source (self ) -> str :
353359 """
354360 Getter property for the *CLFtransformID* source colourspace.
355361
@@ -366,7 +372,7 @@ def source(self) -> str | None:
366372 return self ._source
367373
368374 @property
369- def target (self ) -> str | None :
375+ def target (self ) -> str :
370376 """
371377 Getter property for the *CLFtransformID* target colourspace.
372378
@@ -409,7 +415,7 @@ def __repr__(self) -> str:
409415 def _parse (self ) -> None :
410416 """Parse the *CLFtransformID*."""
411417
412- if self ._clf_transform_id is None :
418+ if self ._clf_transform_id == VALUE_DEFAULT_UNDEFINED :
413419 return
414420
415421 clf_transform_id = self ._clf_transform_id
@@ -489,30 +495,30 @@ class CLFTransform:
489495 def __init__ (
490496 self ,
491497 path : str ,
492- family : str | None = None ,
493- genus : str | None = None ,
498+ family : str = VALUE_DEFAULT_UNDEFINED ,
499+ genus : str = VALUE_DEFAULT_UNDEFINED ,
494500 siblings : Sequence | None = None ,
495501 ) -> None :
496502 siblings = optional (siblings , [])
497503
498504 self ._path : str = os .path .abspath (os .path .normpath (path ))
499505
500- self ._code : str | None = None
501- self ._clf_transform_id : CLFTransformID | None = None
502- self ._user_name : str | None = None
503- self ._description : str | None = ""
504- self ._input_descriptor : str | None = ""
505- self ._output_descriptor : str | None = ""
506+ self ._code : str = VALUE_DEFAULT_UNDEFINED
507+ self ._clf_transform_id : CLFTransformID = CLFTransformID ()
508+ self ._user_name : str = VALUE_DEFAULT_UNDEFINED
509+ self ._description : str = VALUE_DEFAULT_UNDEFINED
510+ self ._input_descriptor : str = VALUE_DEFAULT_UNDEFINED
511+ self ._output_descriptor : str = VALUE_DEFAULT_UNDEFINED
506512 self ._information : dict = {}
507513
508- self ._family : str | None = family
509- self ._genus : str | None = genus
514+ self ._family : str = family
515+ self ._genus : str = genus
510516 self ._siblings : Sequence | None = siblings
511517
512518 self ._parse ()
513519
514520 @property
515- def path (self ) -> str | None :
521+ def path (self ) -> str :
516522 """
517523 Getter property for the *CLF* transform path.
518524
@@ -529,7 +535,7 @@ def path(self) -> str | None:
529535 return self ._path
530536
531537 @property
532- def code (self ) -> str | None :
538+ def code (self ) -> str :
533539 """
534540 Getter property for the *CLF* transform code, i.e., the *CLF* transform
535541 file content.
@@ -549,7 +555,7 @@ def code(self) -> str | None:
549555 return self ._code
550556
551557 @property
552- def clf_transform_id (self ) -> CLFTransformID | None :
558+ def clf_transform_id (self ) -> CLFTransformID :
553559 """
554560 Getter property for the *CLF* transform *CLFtransformID*.
555561
@@ -566,7 +572,7 @@ def clf_transform_id(self) -> CLFTransformID | None:
566572 return self ._clf_transform_id
567573
568574 @property
569- def user_name (self ) -> str | None :
575+ def user_name (self ) -> str :
570576 """
571577 Getter property for the *CLF* transform user name.
572578
@@ -583,7 +589,7 @@ def user_name(self) -> str | None:
583589 return self ._user_name
584590
585591 @property
586- def description (self ) -> str | None :
592+ def description (self ) -> str :
587593 """
588594 Getter property for the *CLF* transform description extracted from
589595 parsing the file content header.
@@ -601,7 +607,7 @@ def description(self) -> str | None:
601607 return self ._description
602608
603609 @property
604- def input_descriptor (self ) -> str | None :
610+ def input_descriptor (self ) -> str :
605611 """
606612 Getter property for the *CLF* transform input descriptor extracted from
607613 parsing the file content header.
@@ -619,7 +625,7 @@ def input_descriptor(self) -> str | None:
619625 return self ._input_descriptor
620626
621627 @property
622- def output_descriptor (self ) -> str | None :
628+ def output_descriptor (self ) -> str :
623629 """
624630 Getter property for the *CLF* transform output descriptor extracted
625631 from parsing the file content header.
@@ -655,7 +661,7 @@ def information(self) -> dict:
655661 return self ._information
656662
657663 @property
658- def family (self ) -> str | None :
664+ def family (self ) -> str :
659665 """
660666 Getter property for the *CLF* transform family, e.g., *aces*, a value in
661667 :attr:`opencolorio_config_aces.clf.reference.\
@@ -674,7 +680,7 @@ def family(self) -> str | None:
674680 return self ._family
675681
676682 @property
677- def genus (self ) -> str | None :
683+ def genus (self ) -> str :
678684 """
679685 Getter property for the *CLF* transform genus, e.g., *undefined*.
680686
@@ -824,7 +830,7 @@ def _parse(self) -> None:
824830 )
825831 if aces_transform_id is not None :
826832 self ._information ["ACEStransformID" ] = ACESTransformID (
827- aces_transform_id .text
833+ aces_transform_id .text # pyright: ignore
828834 )
829835
830836 builtin_transform = next (
0 commit comments