@@ -409,8 +409,7 @@ def generate_config(
409409
410410 if data .file_rules :
411411 file_rules = ocio .FileRules ()
412- rule_index = 0
413- for file_rule in reversed (data .file_rules ):
412+ for i , file_rule in enumerate (data .file_rules ):
414413 name = file_rule ["name" ]
415414 colorspace = file_rule ["colorspace" ]
416415 regex = file_rule .get ("regex" )
@@ -431,8 +430,7 @@ def generate_config(
431430 regex ,
432431 colorspace ,
433432 )
434- file_rules .insertRule (rule_index , name , colorspace , regex )
435- rule_index += 1
433+ file_rules .insertRule (i , name , colorspace , regex )
436434 else :
437435 LOGGER .debug (
438436 'Adding "%s" file rule with "%s" pattern and "%s" '
@@ -442,15 +440,20 @@ def generate_config(
442440 extension ,
443441 colorspace ,
444442 )
445- file_rules .insertRule (rule_index , name , colorspace , pattern , extension )
446- rule_index += 1
443+ file_rules .insertRule (i , name , colorspace , pattern , extension )
447444 config .setFileRules (file_rules )
448445
449446 if data .viewing_rules :
450447 viewing_rules = ocio .ViewingRules ()
451- for _i , _viewing_rule in enumerate (reversed (data .viewing_rules )):
452- LOGGER .warning ("Inserting a viewing rule is not supported yet!" )
453- # viewing_rules.insertRule()
448+ for i , viewing_rule in enumerate (data .viewing_rules ):
449+ name = viewing_rule ["name" ]
450+ encodings = viewing_rule ["encodings" ]
451+ LOGGER .debug (
452+ 'Adding "%s" viewing rule with "%s" encodings.' , name , encodings
453+ )
454+ viewing_rules .insertRule (i , name )
455+ for encoding in encodings :
456+ viewing_rules .addEncoding (i , encoding )
454457 config .setViewingRules (viewing_rules )
455458
456459 if data .default_view_transform is not None :
0 commit comments