Fix tag_expression usage of frozen_children which was tag objects.
At some point, I changed tag_export.flat_dict from using strings as keys to using actual Tag objects as keys. The tag expression handler never got updated, so frozen_children[tagname] raised KeyError as it was looking for a string. I considered using tag_expression_tree.map to convert all the tree tokens into tag objects, but when we render the tree back into text it will say "Tag:name" instead of just "name" throughout the whole expression, and I don't want to deal with converting those back.
This commit is contained in:
		
							parent
							
								
									30d7dbdb39
								
							
						
					
					
						commit
						8ed5f0be51
					
				
					 1 changed files with 4 additions and 0 deletions
				
			
		|  | @ -484,6 +484,10 @@ def tag_expression_tree_builder( | |||
|     return expression_tree | ||||
| 
 | ||||
| def tag_expression_matcher_builder(frozen_children): | ||||
|     frozen_children = { | ||||
|         (tag.name if not isinstance(tag, str) else tag): children | ||||
|         for (tag, children) in frozen_children.items() | ||||
|     } | ||||
|     def match_function(photo_tags, tagname): | ||||
|         ''' | ||||
|         Used as the `match_function` for the ExpressionTree evaluation. | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue