def fetch_snippets(request, **kwargs):
    client = Client(**kwargs)
    translation.activate(client.locale)

    matching_snippets = Snippet.objects.match_client(client)
    snippet_ids = list(matching_snippets.values_list('id', flat=True))

    client_match_rules = ClientMatchRule.objects.filter(snippet__in=snippet_ids)
    passed_rules, failed_rules = client_match_rules.evaluate(client)

    matching_snippets = matching_snippets.exclude(
        client_match_rules__in=(list(failed_rules)))
    return render(request, 'base/fetch_snippets.html', {
        'snippets': matching_snippets,
        'snippet_settings': snippet_settings(),
        'current_time': strftime('%Y-%m-%dT%H:%M:%SZ', gmtime())
    })
def preview_empty(request):
    return render(request, 'base/preview_empty.html',
                  {'snippet_settings': snippet_settings()})
def preview_snippet(request, snippet_id):
    snippet = get_object_or_404(Snippet, id=snippet_id)
    return render(request, 'base/preview.html', {
        'snippet': snippet,
        'snippet_settings': snippet_settings()
    })