Ejemplo n.º 1
0
def download_req(request):
    from base64 import b64encode

    cursor = sql_cursor()
    cursor.execute("SELECT * FROM identity_providers")

    columns = [c[0].lower() for c in cursor.description]
    if 'png16x16' in columns:
        image_row = columns.index('png16x16')
    else:
        image_row = None

    response = HttpResponse(mimetype='text/csv')
    response['Content-Disposition'] = 'attachment; filename=idps.csv'

    w = writer(response)
    w.writerow(columns)

    for row in cursor.fetchall():
        row = list(row)
        if image_row is not None and row[image_row]:
            row[image_row] = b64encode(row[image_row])
        w.writerow(row)

    return response
Ejemplo n.º 2
0
def download_req(request):
    from base64 import b64encode

    cursor = sql_cursor()
    cursor.execute("SELECT * FROM identity_providers")

    columns = [c[0].lower() for c in cursor.description]
    if 'png16x16' in columns:
        image_row = columns.index('png16x16')
    else:
        image_row = None

    response = HttpResponse(mimetype='text/csv')
    response['Content-Disposition'] = 'attachment; filename=idps.csv'

    w = writer(response)
    w.writerow(columns)

    for row in cursor.fetchall():
        row = list(row)
        if image_row is not None and row[image_row]:
            row[image_row] = b64encode(row[image_row])
        w.writerow(row)

    return response
Ejemplo n.º 3
0
def index_req(request):
    cursor = sql_cursor()

    cursor.execute(SQL)
    a = cursor.fetchone()

    vars = default_context(
        request,
        admins_count=Admin.objects.count(),
        users_count=User.objects.filter(sha1__isnull=False).count(),
        groups_count=Group.objects.count(),
        idps_count=IdentityProvider.objects.count())

    if a:
        vars['backups'] = True
        n = float(a[3])
        if n == 0.0:
            n = 1.0

        vars['backup_permerrs'] = int(100.0 * a[0] / n)
        vars['backup_temperrs'] = int(100.0 * a[1] / n)
        vars['backup_finished'] = int(100.0 * (a[3] - a[2]) / n)
    else:
        vars['backups'] = False

    return render_to_response('index.html', vars)
Ejemplo n.º 4
0
def master_req(request):
    cursor = sql_cursor()

    cursor.execute("SHOW SLAVE STATUS")
    columns = [c[0].lower() for c in cursor.description]
    slave = [dict(zip(columns, row)) for row in cursor.fetchall()]

    if len(slave) == 1:
        return HttpResponseRedirect("https://%s/console/backups/" % slave[0]["master_host"])
    else:
        return HttpResponseRedirect(".")
Ejemplo n.º 5
0
def logo_req(request):
    id = int(request.GET['id'].strip())

    cursor = sql_cursor()

    sql = "SELECT png16x16 FROM identity_providers WHERE id = %d" % id
    cursor.execute(sql)
    a = cursor.fetchone()

    if a and a[0]:
        s = a[0]
        if not isinstance(s, str):
            s = s.tostring()
        return HttpResponse(s, mimetype='image/png')
    else:
        return HttpResponseRedirect(settings.MEDIA_URL + 'img/openid-icon.png')
Ejemplo n.º 6
0
def logo_req(request):
    id = int(request.GET['id'].strip())

    cursor = sql_cursor()

    sql = "SELECT png16x16 FROM identity_providers WHERE id = %d" % id
    cursor.execute(sql)
    a = cursor.fetchone()

    if a and a[0]:
        s = a[0]
        if not isinstance(s, str):
            s = s.tostring()
        return HttpResponse(s, mimetype='image/png')
    else:
        return HttpResponseRedirect(settings.MEDIA_URL + 'img/openid-icon.png')
Ejemplo n.º 7
0
def index_req(request):
    cursor = sql_cursor()
    sql = (
        "SELECT (SELECT COUNT(*) FROM mcgateway.backup_queue WHERE status='PERMERR') AS permerrs, "
        + "       (SELECT COUNT(*) FROM mcgateway.backup_queue WHERE status='TEMPERR') AS temperrs, "
        + "       (SELECT COUNT(*) FROM mcgateway.backup_queue WHERE endtime IS NULL) AS pending, "
        + "       (SELECT COUNT(*) FROM mcgateway.backup_queue) AS total"
    )

    cursor.execute(sql)
    a = cursor.fetchone()

    vars = default_context(request)

    if a:
        vars["backups"] = True
        n = float(a[3])
        if n == 0.0:
            n = 1.0

        vars["backup_permerrs"] = int(100.0 * a[0] / n)
        vars["backup_temperrs"] = int(100.0 * a[1] / n)
        vars["backup_pending"] = int(100.0 * a[2] / n)
        vars["backup_finished"] = int(100.0 * (a[3] - a[2]) / n)
        vars["permerrs"] = a[0]
        vars["temperrs"] = a[1]
        vars["pending"] = a[2]
        vars["finished"] = a[3] - a[2]
        vars["total"] = a[3]
    else:
        vars["backups"] = False

    cursor.execute("SHOW MASTER STATUS")
    columns = [c[0].lower() for c in cursor.description]
    vars["master"] = [dict(zip(columns, row)) for row in cursor.fetchall()]

    cursor.execute("SHOW SLAVE STATUS")
    columns = [c[0].lower() for c in cursor.description]
    vars["slave"] = [dict(zip(columns, row)) for row in cursor.fetchall()]

    return render_to_response("backups/index.html", vars)
Ejemplo n.º 8
0
def status_led_req(request):
    import Image, ImageDraw, ImageFont

    cursor = sql_cursor()

    cursor.execute("SHOW MASTER STATUS")
    columns = [c[0].lower() for c in cursor.description]
    master = [dict(zip(columns, row)) for row in cursor.fetchall()]

    img = Image.new("RGB", (200, 11), 0xFFFFFF)
    draw = ImageDraw.Draw(img)
    font = ImageFont.load_default()

    if master:
        m0 = master[0]

        draw.ellipse((0, 0, 10, 10), fill=0x00FF00, outline=0x00CC00)
        draw.text((3, -1), "M", font=font, fill=0x000000)

    else:
        cursor.execute("SHOW SLAVE STATUS")
        columns = [c[0].lower() for c in cursor.description]
        slave = [dict(zip(columns, row)) for row in cursor.fetchall()]

        if slave:
            s0 = slave[0]

            draw.ellipse((0, 0, 10, 10), fill=0xFFFF33, outline=0xCCCC33)
            draw.text((3, -1), "S", font=font, fill=0x000000)
            draw.text((15, -1), s0["master_host"], font=font, fill=0x000000)

    del draw

    response = HttpResponse(mimetype="image/png")
    img.save(response, "PNG")

    return response
Ejemplo n.º 9
0
def index_req(request):
    cursor = sql_cursor()

    cursor.execute(SQL)
    a = cursor.fetchone()

    vars = default_context(request, admins_count = Admin.objects.count(),
                users_count = User.objects.filter(sha1__isnull=False).count(),
                groups_count = Group.objects.count(),
                idps_count = IdentityProvider.objects.count())

    if a:
        vars['backups'] = True
        n = float(a[3])
        if n == 0.0:
            n = 1.0

        vars['backup_permerrs'] = int(100.0 * a[0] / n)
        vars['backup_temperrs'] = int(100.0 * a[1] / n)
        vars['backup_finished'] = int(100.0 * (a[3] - a[2]) / n)
    else:
        vars['backups'] = False

    return render_to_response('index.html', vars)