#!/usr/local/bin/python
import sys
import string
import cgi
from swlib.imports import *
from Default import *
try:
from Config import *
except:
pass
def displayItem(req, node):
model = req.model
res = model[node]
req.model("
\n")
labels = string.join(model.labels(node), ", ")
req.model("\n")
req.model("
\n")
req.model("\n")
#print ""
#print string.join(model.labels(node), ", ")
#print ""
#print ""
foundsome = 0
for pred in res.properties(model.fpDict().addLabels().addStandard()):
if foundsome == 0:
foundsome = 1
req.model("\n")
label = string.join(model.labels(pred), ", ")
d = dict()
for obj in res.objects(pred):
d[obj] = 1
ls = d.keys()
if(type(ls[0]) == Literal):
req.model("- " + label + ": ")
req.write(cgi.escape(str(ls[0])))
else:
#sys.stdout.write("
- " + label + "")
foo = model.encodeResource(ls[0])
if foo == None:
foo = ls[0]
bar = "/rdf/instance/?" + urlencode({"inst": str(foo)})
#sys.stdout.write("" + "(additional value)")
req.write("
- " + label + ": " + string.join(model.labels(ls[0]), ", ") + "")
if(len(ls) > 1):
for item in ls[1:]:
req.write(", ")
if(type(item) == Literal):
req.write(cgi.escape(str(item)))
else:
foo = model.encodeResource(item)
if foo == None:
foo = item
bar = "/rdf/instance/?" + urlencode({"inst": str(foo)})
#sys.stdout.write("" + "(additional value)")
#sys.stdout.write("" + "(additional value)")
req.write("" + string.join(model.labels(item), ", ") + "")
req.write("
\n")
if foundsome == 1:
req.write("
\n")
req.write("
\n")
def printAllSubClasses(req, root, showinstances):
model = req.model
req.write("\n")
req.write("" + string.join(model.labels(root), ", ") + "\n")
foundsome = 0
if(showinstances):
for item in model.specificIndividuals(root).sortByValue():
if(foundsome == 0):
req.write("\n")
foundsome = 1
displayItem(req, item)
for item in model.specificSubClasses(root).sortByValue():
if(foundsome == 0):
req.write("\n")
foundsome = 1
printAllSubClasses(req, item, showinstances)
if(foundsome == 1):
req.write("
\n")
req.write("
\n")
def html(req):
model = req.model
args = req.args
req.setPageWrap(True)
#if(len(sys.argv) > 1):
if(args.has_key("classuri")):
classuri = URIRef(args["classuri"][0])
else:
classuri = URIRef(IMAGE)
title = string.join(model.labels(classuri), ", ")
req.header.setTitle(title)
req.write("Displaying image class", "" + title + "
\n")
req.write("\n")
printAllSubClasses(req, classuri, 1)
req.write("
\n")
return
options = { "application/xhtml+xml": (html, .8), "text/html": (html, .9)}
options.setStandardController(('classuri',))