aboutsummaryrefslogtreecommitdiffstats
path: root/bsie/lib/naming_policy.py
diff options
context:
space:
mode:
authorMatthias Baumgartner <dev@igsor.net>2023-07-25 18:48:21 +0200
committerMatthias Baumgartner <dev@igsor.net>2023-07-25 18:48:21 +0200
commitbb8130b093e51474a7ce6f6431c7f9a02c4f930b (patch)
tree6fb1d3811686ba4520946a48020ff5cf984db946 /bsie/lib/naming_policy.py
parentbe6027859c815e18b08a49ca1a45df3fc0aac301 (diff)
parent5d0ff7b2e0d1c63d9551e44ed3ffd96c695b69d9 (diff)
downloadbsie-bb8130b093e51474a7ce6f6431c7f9a02c4f930b.tar.gz
bsie-bb8130b093e51474a7ce6f6431c7f9a02c4f930b.tar.bz2
bsie-bb8130b093e51474a7ce6f6431c7f9a02c4f930b.zip
Merge branch 'mb/faces' into develop
Diffstat (limited to 'bsie/lib/naming_policy.py')
-rw-r--r--bsie/lib/naming_policy.py11
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 ##