def get_documents(): """Read the tree's documents.""" prefixes = [str(document.prefix) for document in tree] if utilities.json_response(request): data = {"prefixes": prefixes} return data else: return "<br>".join(prefixes)
def get_all_documents(): """Read the tree's documents.""" if utilities.json_response(request): data = {str(document.prefix): {str(item.uid): item.data for item in document} for document in tree} return data else: prefixes = [str(document.prefix) for document in tree] return "<br>".join(prefixes)
def get_item(prefix, uid): """Read a document's item.""" document = tree.find_document(prefix) item = document.find_item(uid) if utilities.json_response(request): return {"data": item.data} else: return publisher.publish_lines(item, ext=".html")
def get_document(prefix): """Read a tree's document.""" document = tree.find_document(prefix) if utilities.json_response(request): data = {str(item.uid): item.data for item in document} return data else: return publisher.publish_lines(document, ext=".html")
def get_all_documents(): """Read the tree's documents.""" if utilities.json_response(request): data = {str(d.prefix): {str(i.uid): i.data for i in d} for d in tree} return data else: prefixes = [str(document.prefix) for document in tree] return template('document_list', prefixes=prefixes)
def get_documents(): """Read the tree's documents.""" prefixes = [str(document.prefix) for document in tree] if utilities.json_response(request): data = {'prefixes': prefixes} return data else: return template('document_list', prefixes=prefixes)
def get_items(prefix): """Read a document's items.""" document = tree.find_document(prefix) uids = [str(item.uid) for item in document] if utilities.json_response(request): data = {"uids": uids} return data else: return "<br>".join(uids)
def get_items(prefix): """Read a document's items.""" document = tree.find_document(prefix) uids = [str(item.uid) for item in document] if utilities.json_response(request): data = {'uids': uids} return data else: return template('item_list', prefix=prefix, items=uids)
def get_attrs(prefix, uid): """Read an item's attributes.""" document = tree.find_document(prefix) item = document.find_item(uid) attrs = sorted(item.data.keys()) if utilities.json_response(request): data = {'attrs': attrs} return data else: return '<br>'.join(attrs)
def post_numbers(prefix): """Create the next number in a document.""" document = tree.find_document(prefix) number = max(document.next_number, numbers[prefix]) numbers[prefix] = number + 1 if utilities.json_response(request): data = {'next': number} return data else: return str(number)
def post_numbers(prefix): """Create the next number in a document.""" document = tree.find_document(prefix) number = max(document.next_number, numbers[prefix]) numbers[prefix] = number + 1 if utilities.json_response(request): data = {"next": number} return data else: return str(number)
def get_attrs(prefix, uid): """Read an item's attributes.""" document = tree.find_document(prefix) item = document.find_item(uid) attrs = sorted(item.data.keys()) if utilities.json_response(request): data = {"attrs": attrs} return data else: return "<br>".join(attrs)
def get_all_documents(): """Read the tree's documents.""" if utilities.json_response(request): data = { str(document.prefix): {str(item.uid): item.data for item in document} for document in tree } return data else: prefixes = [str(document.prefix) for document in tree] return '<br>'.join(prefixes)
def get_attr(prefix, uid, name): """Read an item's attribute value.""" document = tree.find_document(prefix) item = document.find_item(uid) value = item.data.get(name, None) if utilities.json_response(request): data = {'value': value} return data else: if isinstance(value, str): return value try: return '<br>'.join(str(e) for e in value) except TypeError: return str(value)
def get_attr(prefix, uid, name): """Read an item's attribute value.""" document = tree.find_document(prefix) item = document.find_item(uid) value = item.data.get(name, None) if utilities.json_response(request): data = {"value": value} return data else: if isinstance(value, str): return value try: return "<br>".join(str(e) for e in value) except TypeError: return str(value)