#! /usr/bin/python """\ string <-> time built-ins for cwm See cwm.py """ import thing import notation3 # N3 parsers and generators, and RDF generator from thing import * import time, timegm TIME_NS_URI = "http://www.mnot.net/2002/02/25/time#" __version__ = "0.1" class BI_format(LightBuiltIn, Function): def evaluateObject(self, store, context, subj, subj_py): if thing.verbosity() > 80: progress("strTime:format input:"+`subj_py`) str, format = subj_py try: return store._fromPython(context, time.strftime(format, time.gmtime(int(str)))) except: return None class BI_parse(LightBuiltIn, Function): def evaluateObject(self, store, context, subj, subj_py): if thing.verbosity() > 80: progress("strTime:parse input:"+`subj_py`) str, format = subj_py try: return store._fromPython(context, timegm.timegm(time.strptime(str, format))) except: return None def register(store): t = store.internURI(TIME_NS_URI[:-1]) t.internFrag("format", BI_format) t.internFrag("parse", BI_parse)