# Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # Simple ATOM handling functions from util import * from time import strftime, gmtime # Make an ATOM entry def mkentry(title, id, author, updated, content): return (("'entry", ("'title", title), ("'id", id), ("'author", author), ("'updated", updated), ("'content",) if isNull(content) else ("'content", content)),) # Make an ATOM feed def mkfeed(title, id, author, updated, entries): return (("'entry", ("'title", title), ("'id", id), ("'author", author), ("'updated", updated), ("'content",) if isNull(content) else ("'content", content)),) # Return ATOM attributes def title(e): if isNull(e): return () t = assoc("'title", car(e)) return None if isNull(t) or isNull(cdr(t)) else cadr(t) def entryid(e): if isNull(e): return () id = assoc("'id", car(e)) return None if isNull(id) else cadr(id) def author(e): if isNull(e): return () a = assoc("'author", car(e)) return None if isNull(a) else cadr(a) def updated(e): if isNull(e): return () u = assoc("'updated", car(e)) return None if isNull(u) else cadr(u) def rank(e): if isNull(e): return () r = assoc("'rank", car(e)) return None if isNull(r) else cadr(r) def content(e): if isNull(e): return () c = assoc("'content", car(e)) return () if isNull(c) or isNull(cdr(c)) else c[len(c) - 1] # Return the current time def now(): return strftime('%Y-%m-%dT%H:%M:%S+00:00', gmtime()) # Return an (updated now) assoc def updatedNow(): return ("'updated", strftime('%Y-%m-%dT%H:%M:%S+00:00', gmtime()))