def view(dataset, link): dataset = Dataset.find(dataset) link = Link.find(dataset, link) format = response_format() if format == 'json': return jsonify(link) return "Not implemented!"
def match(dataset, link, random=False): dataset = Dataset.find(dataset) authz.require(authz.dataset_edit(dataset)) link = Link.find(dataset, link) random = random or request.args.get('random')=='True' choices = match_op(link.key, dataset, query=request.args.get('query')) pager = Pager(choices, '.match', dataset=dataset.name, link=link.id, limit=10) # HACK: Fetch only the values on the selected page. value_objs = Value.id_map(dataset, map(lambda (c,v,s): v, pager.query[pager.offset:pager.offset+pager.limit])) for i, (c,v,s) in enumerate(pager.query): if v in value_objs: pager.query[i] = (c, value_objs.get(v), s) html = render_template('link/match.html', dataset=dataset, link=link, choices=pager, random=random) choice = 'INVALID' if link.is_invalid else link.value_id if len(choices) and choice is None: c, v, s = choices[0] choice = 'INVALID' if s <= 50 else v return htmlfill.render(html, force_defaults=False, defaults={'choice': choice, 'value': link.key, 'query': request.args.get('query', ''), 'random': random})
def match_save(dataset, link): dataset = Dataset.find(dataset) authz.require(authz.dataset_edit(dataset)) link = Link.find(dataset, link) random = request.form.get('random')=='True' data = request_content() try: link.match(dataset, data, request.account) db.session.commit() except Invalid, inv: return handle_invalid(inv, match, data=data, args=[dataset.name, link.id, random])
def match(dataset, link, random=False): dataset = Dataset.find(dataset) authz.require(authz.dataset_edit(dataset)) link = Link.find(dataset, link) random = random or request.args.get('random')=='True' choices = match_op(link.key, dataset, query=request.args.get('query')) pager = Pager(choices, '.match', dataset=dataset.name, link=link.id, limit=10) html = render_template('link/match.html', dataset=dataset, link=link, choices=pager, random=random) choice = 'INVALID' if link.is_invalid else link.value_id if len(choices): choice = choices[0][1].id if choice is None else choice return htmlfill.render(html, force_defaults=False, defaults={'choice': choice, 'value': link.key, 'query': request.args.get('query', ''), 'random': random})