From e4b98fb261c83588ca1151a1c3f8891965051b2f Mon Sep 17 00:00:00 2001 From: Matthias Baumgartner Date: Fri, 3 Feb 2023 17:24:40 +0100 Subject: previews in browser --- tagit/apps/port-schema.nt | 35 ++++++++++++++++++--- tagit/apps/port_data.py | 79 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 110 insertions(+), 4 deletions(-) (limited to 'tagit/apps') diff --git a/tagit/apps/port-schema.nt b/tagit/apps/port-schema.nt index 4f9a37c..2b354e5 100644 --- a/tagit/apps/port-schema.nt +++ b/tagit/apps/port-schema.nt @@ -9,14 +9,18 @@ prefix bsfs: prefix bse: prefix bst: prefix bsg: +prefix bsp: # essential nodes bsfs:Entity rdfs:subClassOf bsfs:Node . +bsfs:Preview rdfs:subClassOf bsfs:Node . bsfs:File rdfs:subClassOf bsfs:Entity . bsfs:Tag rdfs:subClassOf bsfs:Node . bsfs:Group rdfs:subClassOf bsfs:Node . # common definitions +bsfs:Blob rdfs:subClassOf bsfs:Literal . +bsfs:URI rdfs:subClassOf bsfs:Literal . bsfs:Number rdfs:subClassOf bsfs:Literal . bsfs:Time rdfs:subClassOf bsfs:Literal . xsd:string rdfs:subClassOf bsfs:Literal . @@ -41,10 +45,9 @@ bse:mime rdfs:subClassOf bsfs:Predicate ; rdfs:range xsd:string ; bsfs:unique "true"^^xsd:boolean . -bse:orientation rdfs:subClassOf bsfs:Predicate ; # FIXME: shouldn't this be part of the preview? - rdfs:domain bsfs:File ; - rdfs:range xsd:integer ; - bsfs:unique "true"^^xsd:boolean . +bse:preview rdfs:subClassOf bsfs:Predicate ; + rdfs:domain bsfs:Entity ; + rdfs:range bsfs:Preview . bse:tag rdfs:subClassOf bsfs:Predicate ; rdfs:domain bsfs:File ; @@ -78,3 +81,27 @@ bse:latitude rdfs:subClassOf bsfs:Predicate ; rdfs:range xsd:integer ; bsfs:unique "true"^^xsd:boolean . + +## preview nodes + +bsp:width rdfs:subClassOf bsfs:Predicate ; + rdfs:domain bsfs:Preview ; + rdfs:range xsd:integer ; + bsfs:unique "true"^^xsd:boolean . + +bsp:height rdfs:subClassOf bsfs:Predicate ; + rdfs:domain bsfs:Preview ; + rdfs:range xsd:integer ; + bsfs:unique "true"^^xsd:boolean . + +bsp:orientation rdfs:subClassOf bsfs:Predicate ; + rdfs:domain bsfs:Preview ; + rdfs:range xsd:integer ; + bsfs:unique "true"^^xsd:boolean . + +bsp:asset rdfs:subClassOf bsfs:Predicate ; + rdfs:domain bsfs:Preview ; + rdfs:range xsd:string ; # FIXME: mb/port + bsfs:unique "true"^^xsd:boolean . + + diff --git a/tagit/apps/port_data.py b/tagit/apps/port_data.py index 1d9f4e6..56fb522 100644 --- a/tagit/apps/port_data.py +++ b/tagit/apps/port_data.py @@ -45,4 +45,83 @@ def add_port_data(store): n1.set(ns.bse.group, grp) n3.set(ns.bse.group, grp) + # previews + base = os.path.join(os.path.dirname(__file__), 'port-data') + n0.set(ns.bse.preview, + store.node(ns.bsfs.Preview, URI('http://example.com/me/preview#ent01_w100_h100')) \ + .set(ns.bsp.width, 100) \ + .set(ns.bsp.height, 100) \ + .set(ns.bsp.orientation, 1) \ + .set(ns.bsp.asset, str(os.path.join(base, 'ent01_w100_h100.jpg'))) + ) + n0.set(ns.bse.preview, + store.node(ns.bsfs.Preview, str('http://example.com/me/preview#ent01_w400_h200')) \ + .set(ns.bsp.width, 200) \ + .set(ns.bsp.height, 400) \ + .set(ns.bsp.orientation, 1) \ + .set(ns.bsp.asset, str(os.path.join(base, 'ent01_w400_h200.jpg'))) + ) + n0.set(ns.bse.preview, + store.node(ns.bsfs.Preview, URI('http://example.com/me/preview#ent01_w400_h400')) \ + .set(ns.bsp.width, 400) \ + .set(ns.bsp.height, 400) \ + .set(ns.bsp.orientation, 1) \ + .set(ns.bsp.asset, str(os.path.join(base, 'ent01_w400_h400.jpg'))) + ) + n1.set(ns.bse.preview, + store.node(ns.bsfs.Preview, URI('http://example.com/me/preview#ent02_w100_h100')) \ + .set(ns.bsp.width, 100) \ + .set(ns.bsp.height, 100) \ + .set(ns.bsp.orientation, 1) \ + .set(ns.bsp.asset, str(os.path.join(base, 'ent02_w100_h100.jpg'))) + ) + n1.set(ns.bse.preview, + store.node(ns.bsfs.Preview, URI('http://example.com/me/preview#ent02_w400_h200')) \ + .set(ns.bsp.width, 200) \ + .set(ns.bsp.height, 400) \ + .set(ns.bsp.orientation, 1) \ + .set(ns.bsp.asset, str(os.path.join(base, 'ent02_w400_h200.jpg'))) + ) + n2.set(ns.bse.preview, + store.node(ns.bsfs.Preview, URI('http://example.com/me/preview#ent03_w100_h100')) \ + .set(ns.bsp.width, 100) \ + .set(ns.bsp.height, 100) \ + .set(ns.bsp.orientation, 1) \ + .set(ns.bsp.asset, str(os.path.join(base, 'ent03_w100_h100.jpg'))) + ) + n2.set(ns.bse.preview, + store.node(ns.bsfs.Preview, URI('http://example.com/me/preview#ent03_w400_h200')) \ + .set(ns.bsp.width, 200) \ + .set(ns.bsp.height, 400) \ + .set(ns.bsp.orientation, 1) \ + .set(ns.bsp.asset, str(os.path.join(base, 'ent03_w400_h200.jpg'))) + ) + n3.set(ns.bse.preview, + store.node(ns.bsfs.Preview, URI('http://example.com/me/preview#ent04_w100_h100')) \ + .set(ns.bsp.width, 100) \ + .set(ns.bsp.height, 100) \ + .set(ns.bsp.orientation, 1) \ + .set(ns.bsp.asset, str(os.path.join(base, 'ent04_w100_h100.png'))) + ) + n3.set(ns.bse.preview, + store.node(ns.bsfs.Preview, URI('http://example.com/me/preview#ent04_w400_h200')) \ + .set(ns.bsp.width, 200) \ + .set(ns.bsp.height, 400) \ + .set(ns.bsp.orientation, 1) \ + .set(ns.bsp.asset, str(os.path.join(base, 'ent04_w400_h200.png'))) + ) + n4.set(ns.bse.preview, + store.node(ns.bsfs.Preview, URI('http://example.com/me/preview#ent05_w100_h100')) \ + .set(ns.bsp.width, 100) \ + .set(ns.bsp.height, 100) \ + .set(ns.bsp.orientation, 1) \ + .set(ns.bsp.asset, str(os.path.join(base, 'ent05_w100_h100.jpg'))) + ) + n4.set(ns.bse.preview, + store.node(ns.bsfs.Preview, URI('http://example.com/me/preview#ent05_w400_h200')) \ + .set(ns.bsp.width, 200) \ + .set(ns.bsp.height, 400) \ + .set(ns.bsp.orientation, 1) \ + .set(ns.bsp.asset, str(os.path.join(base, 'ent05_w400_h200.jpg'))) + ) -- cgit v1.2.3