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
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)
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(".")
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')
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)
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
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)