diff options
Diffstat (limited to 'bsie/lib/naming_policy.py')
-rw-r--r-- | bsie/lib/naming_policy.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/bsie/lib/naming_policy.py b/bsie/lib/naming_policy.py index ffef7d9..fbdbeb0 100644 --- a/bsie/lib/naming_policy.py +++ b/bsie/lib/naming_policy.py @@ -89,6 +89,8 @@ class DefaultNamingPolicy(NamingPolicy): return self.name_preview(node) if node.node_type == ns.bsn.Tag: return self.name_tag(node) + if node.node_type == ns.bsn.Face: + return self.name_face(node) raise errors.ProgrammingError(f'no naming policy available for {node.node_type}') def name_entity(self, node: Node) -> Node: @@ -127,4 +129,13 @@ class DefaultNamingPolicy(NamingPolicy): node.uri = getattr(self._prefix.tag(), fragment) return node + def name_face(self, node: Node) -> Node: + if 'ucid' in node.hints: # content id + fragment = node.hints['ucid'] + else: # random name + fragment = self._uuid() + node.uri = getattr(self._prefix.face(), fragment) + return node + + ## EOF ## |