def advance_status(request): ''' Advance the status of an annotation ''' if isPOST(request) and 'application/json' in content_type(request): params = json.loads(request.body) LOGGING.info("advancing %s to state:%s" % (params.get('annotation'), params.get('toState'))) tmp_g = change_annotation_state(params.get('annotation'), params.get('toState')) return HttpResponse(tmp_g.serialize())
def advance_status(request): ''' Advance the status of an annotation ''' if isPOST(request) and 'application/json' in content_type(request): params = json.loads(request.body) if not params.has_key('annotation') or not params.has_key('state'): messages.add_message(request, messages.ERROR, "Missing annotation/state parameters") return mm_render_to_response_error(request, '400.html', 400) LOGGING.info("advancing %s to state:%s" % (params.get('annotation'), params.get('toState'))) tmp_g = change_annotation_state(params.get('annotation'), params.get('toState')) return HttpResponse(tmp_g.serialize())
def compose_annotation(request): context = {} logging.debug(request) if request.REQUEST.get('target_link', None): context['target_link'] = request.REQUEST.get('target_link') return mm_render_to_response(request, context, 'compose_annotation.html') if isPOST(request): insert_rdf('', request.body) #target_link = request.REQUEST['target_link'] #extract_alternative_links(target_link) return mm_render_to_response(request, context, 'compose_annotation.html')
def endpoint(request): if isGET(request): return processGET(request) if isPUT(request): return processPUT(request) if isDELETE(request): return processDELETE(request) if isPOST(request): return processPOST(request) if isHEAD(request): return processHEAD(request) if isPATCH(request): return processPATCH(request)
def _validateFormat(request): ''' Returns the mimetype of the required format as mapped by rdflib return: String - an allowed rdflib mimetype ''' req_format = None if isGET(request): req_format = FORMAT_MAP.get(request.GET.get('format', None)) if isPOST(request): req_format = request.environ.get('CONTENT_TYPE', None) if req_format: if req_format not in FORMAT_MAP.values(): raise SerializeError("Cannot generate the required format %s " % req_format) return req_format
def insert(request): ''' Inserts in the triplestore a new annotation under the "ANNO_SUBMITTED" graph ''' try: req_format = _validateFormat(request) except SerializeError as e: messages.add_message(request, messages.ERROR, e) return mm_render_to_response_error(request, '400.html', 400) if isPOST(request) or isOPTIONS(request): triples = request.body tmp_g = insert_rdf(triples, req_format, graph=ANNO_SUBMITTED) ret_format = validateMimeFormat(request) if ret_format is None: ret_format = req_format return HttpResponse(__serialize(tmp_g, req_format = ret_format), content_type=FORMAT_MAP.get(ret_format))