def create(self, docid): assert not self.exists(docid) parentid = docid.parent # XXX doc = api.create(parentid, kind='entry') assert doc.tumbler == docid, "epic fail" self.session[docid] = doc return doc
def post(self, t_addr=None, data=None, **props): "Create new Node under address. " # determine node type based on components kind = 'node' if t_addr: tcnt = t_addr.depth() newcroot = self.request.uri.endswith('/') if tcnt == 1: if newcroot: kind = 'channel' elif tcnt == 2: if not newcroot: kind = 'channel' else: kind = 'entry' elif tcnt == 3: if not newcroot: kind = 'entry' else: raise RouteError("Node view does not accept post for %s" % t_addr) else: raise RouteError("Node view does not accept post for %s" % t_addr) return api.create(t_addr, kind=kind, data=data, **props)