Beispiel #1
0
def uptake(request):
    """ping mirror uptake"""
    product = request.GET.get("product", None)
    os = request.GET.get("os", None)
    fuzzy = request.GET.get("fuzzy", False)
    xml = XMLRenderer()
    if not product and not os:
        return xml.error("product and/or os are required GET parameters.", errno=101)

    if product:
        if fuzzy:
            products = Product.objects.filter(name__icontains=product)
        else:
            products = Product.objects.filter(name__exact=product)
        pids = [p.id for p in products]
        if not pids:
            return xml.error("No products found", errno=102)
    else:
        pids = None

    if os:
        if fuzzy:
            oses = OS.objects.filter(name__icontains=os)
        else:
            oses = OS.objects.filter(name__exact=os)
        osids = [o.id for o in oses]
        if not osids:
            return xml.error("No OSes found", errno=102)
    else:
        osids = None

    uptake = Location.get_mirror_uptake(products=pids, oses=osids)

    xml.prepare_uptake(uptake)
    return xml.render()
Beispiel #2
0
def uptake(request):
    """ping mirror uptake"""
    product = request.GET.get('product', None)
    os = request.GET.get('os', None)
    fuzzy = request.GET.get('fuzzy', False)
    xml = XMLRenderer()
    if not product and not os:
        return xml.error('product and/or os are required GET parameters.',
                         errno=101)

    if product:
        if fuzzy:
            products = Product.objects.filter(name__icontains=product)
        else:
            products = Product.objects.filter(name__exact=product)
        pids = [p.id for p in products]
        if not pids:
            return xml.error('No products found', errno=102)
    else:
        pids = None

    if os:
        if fuzzy:
            oses = OS.objects.filter(name__icontains=os)
        else:
            oses = OS.objects.filter(name__exact=os)
        osids = [o.id for o in oses]
        if not osids:
            return xml.error('No OSes found', errno=102)
    else:
        osids = None

    uptake = Location.get_mirror_uptake(products=pids, oses=osids)

    xml.prepare_uptake(uptake)
    return xml.render()