def fn_dateTime(xc, p, contextItem, args): if len(args) != 2: raise XPathContext.FunctionNumArgs() date = anytypeArg(xc, args, 0, "xs:date", missingArgFallback=()) time = anytypeArg(xc, args, 1, "xs:time", missingArgFallback=()) if date is None or time is None: return () return dateTime(date) + dayTimeDuration(time)
def oimPeriodValue(cntx): if cntx.isForeverPeriod: return "forever" elif cntx.isStartEndPeriod: d = cntx.startDatetime duration = dayTimeDuration(cntx.endDatetime - cntx.startDatetime) else: # instant d = cntx.instantDatetime duration = "PT0S" return "{0:04n}-{1:02n}-{2:02n}T{3:02n}:{4:02n}:{5:02n}/{6}".format( d.year, d.month, d.day, d.hour, d.minute, d.second, duration)
def _timePeriodFunction(node, sphinxContext, args): duration = strArgs(node, sphinxContext, args, 0) return dayTimeDuration(duration)
def _timeDuration(node, sphinxContext, args): duration = strArgs(node, sphinxContext, args, 0) return dayTimeDuration(duration)