content,
<span xmlns:kid="http://purl.org/kid/ns#" kid:omit="">
<?python
from rdflib.util import date_time
from urlparse import urljoin
from urllib import quote
from time import gmtime
BLOG = redfoot.namespace("http://redfoot.net/3.0/blog#")
DC = redfoot.namespace("http://purl.org/dc/elements/1.1/")
DCTERMS = redfoot.namespace("http://purl.org/dc/terms/")
SESSION = redfoot.namespace("http://redfoot.net/3.0/session#")
title = request.parameters.get("title")
if title is not None:
path = title.replace(" ", "_")
path = path.replace("#", "_")
year, month, date, h, m, s, _, _, _ = gmtime()
uri = URIRef(urljoin(request.host, "blog/%04d/%02d/%02d/%s" % (year, month, date, path)) + "#")
format = request.parameters.get("format")
if format:
format = URIRef(format)
content = Literal(request.parameters.get("content"))
message = ""
try:
for item in XML(content):
pass
except Exception, e:
message = str(e)
content = None
if content is not None and uri is not None:
uid = redfoot.value(request.session_id, SESSION.uid)
context_uri = redfoot.context_id(uri)
redfoot.index.add((context_uri, RDFS.label, Literal("blog entry: %s" % title)))
context = redfoot.get_context(context_uri, creator=uid)
current = redfoot.value(uri, DC.creator)
if current==uid:
context.remove((None, None, None))
if not current or current==uid:
context.add((uri, RDF.type, BLOG.Entry))
context.add((uri, RDFS.label, Literal(title)))
context.add((uri, RDFS.comment, Literal(content, datatype=format)))
context.add((uri, DCTERMS.created, Literal(date_time())))
context.add((uri, DC.date, Literal(date_time()[0:10])))
context.add((uri, DC.creator, uid))
blog = URIRef("/blog/", base=request.host)
context.add((blog, BLOG.entry, uri))
else:
message = "Another user already submitted an entry for: %s" % uri
else:
message = "Error: No entry submitted"
from urllib import quote
?>
<h2 kid:if="message">${message}</h2>
<h2 kid:if="not message">Thank you for your entry:
<a href="${quote(uri.concrete(), ':/')}">${redfoot.label(uri, uri)}</a>
</h2>
</span>
Comments regarding http://redfoot.net/3.0/aspects/blog/put_entry_content
Login to submit a comment.