def description(request, name, kind=None, source=None):
    kw = dict(
        name=name,
        kind=kind or default_kind,
    )
    if request.method == 'POST':
        param = Parameter.get(
            description=request.body.strip().decode('utf-8'),
            **kw
        )
    else:
        try:
            param = Parameter.objects.get(**kw)
        except Parameter.DoesNotExist:
            msg = u'Invalid parameter: {}\n'.format(Parameter(**kw))
            return HttpResponseNotFound(msg)
    return HttpResponse(u'{}\n'.format(param.description))
def data(request, name, kind=None, source=None):
    kw = dict(
        name=name,
        kind=kind or default_kind,
    )

    if request.method == 'POST':
        metric = Metric.get(
            parameter=Parameter.get(**kw),
            source=Source.get(source),
        )
        raw = request.body.strip()
        for i, line in enumerate(raw.split('\n'), start=1):
            try:
                _store_line(metric, line, maybe_with_spaces=(kind == 'string'))
            except ValueError, value:
                msg = u'Invalid {}: {} at line #{}\n'.format(kind, value, i)
                return HttpResponseServerError(msg)
        return HttpResponse('OK\n')