def find_metric(request): """Autocomplete helper on metric names.""" try: query = str( request.REQUEST['q'] ) except: return HttpResponseBadRequest( content="Missing required parameter 'q'", mimetype="text/plain") matches = list( STORE.find(query+"*") ) content = "\n".join([node.metric_path for node in matches ]) response = HttpResponse(content, mimetype='text/plain') return response
def completePath(path, shortnames=False): # Have to extract the path expression from the command for prefix in ('draw ','add ','remove '): if path.startswith(prefix): path = path[len(prefix):] break pattern = re.sub('\w+\(','',path).replace(')','') + '*' results = [] for match in STORE.find(pattern): if shortnames: results.append(match.name) else: results.append(match.metric_path) list_items = ["<li>%s</li>" % r for r in results] list_element = "<ul>" + '\n'.join(list_items) + "</ul>" return list_element