From 1be510f9529cb082f802408b472a77d074b394c0 Mon Sep 17 00:00:00 2001 From: Nicolas Vigier Date: Sun, 14 Apr 2013 13:46:12 +0000 Subject: Add zarb MLs html archives --- zarb-ml/mageia-sysadm/2011-January/002347.html | 331 +++++++++++++++++++++++++ 1 file changed, 331 insertions(+) create mode 100644 zarb-ml/mageia-sysadm/2011-January/002347.html (limited to 'zarb-ml/mageia-sysadm/2011-January/002347.html') diff --git a/zarb-ml/mageia-sysadm/2011-January/002347.html b/zarb-ml/mageia-sysadm/2011-January/002347.html new file mode 100644 index 000000000..428adc6e9 --- /dev/null +++ b/zarb-ml/mageia-sysadm/2011-January/002347.html @@ -0,0 +1,331 @@ + + + + [Mageia-sysadm] [333] Add queue current status and suggested time until next submit in the HTTP header + + + + + + + + + +

[Mageia-sysadm] [333] Add queue current status and suggested time until next submit in the HTTP header

+ root at mageia.org + root at mageia.org +
+ Fri Jan 21 12:41:03 CET 2011 +

+
+ +
Revision: 333
+Author:   pterjan
+Date:     2011-01-21 12:41:03 +0100 (Fri, 21 Jan 2011)
+Log Message:
+-----------
+Add queue current status and suggested time until next submit in the HTTP header
+
+Modified Paths:
+--------------
+    build_system/web/index.php
+
+Modified: build_system/web/index.php
+===================================================================
+--- build_system/web/index.php	2011-01-20 17:35:27 UTC (rev 332)
++++ build_system/web/index.php	2011-01-21 11:41:03 UTC (rev 333)
+@@ -24,6 +24,84 @@
+ 
+ error_reporting(E_ALL);
+ 
++/**
++ * @param array $pkg
++ *
++ * @return string
++*/
++function pkg_gettype($pkg) {
++    if (array_key_exists("rejected", $pkg["status"]))
++        return "rejected";
++    if (array_key_exists("youri", $pkg["status"])) {
++        if (array_key_exists("src", $pkg["status"]))
++            return "youri";
++        else
++            return "uploaded";
++    }
++    if (array_key_exists("failure", $pkg["status"]))
++        return "failure";
++    if (array_key_exists("done", $pkg["status"]))
++        return "partial";
++    if (array_key_exists("build", $pkg["status"]))
++        return "building";
++    if (array_key_exists("todo", $pkg["status"]))
++        return "todo";
++    return "unknown";
++}
++
++/**
++ * @param integer $num
++ *
++ * @return string
++*/
++function plural($num) {
++    if ($num > 1)
++        return "s";
++}
++
++/**
++ * Return timestamp from package key
++ * @param string $key package submission key
++ *
++ * @return integer
++*/
++
++function key2timestamp($key) {
++    global $tz;
++
++    $date = DateTime::createFromFormat("YmdHis", $key+0, $tz);
++    if ($date <= 0)
++        return null;
++
++    return $date->getTimestamp();
++}
++
++function timediff($start, $end) {
++/**
++ * Return human-readable time difference
++ *
++ * @param integer $start timestamp
++ * @param integer $end timestamp, defaults to now
++ *
++ * @return string
++*/
++    if (is_null($end)) {
++	$end = time();
++    }
++    $diff = $end - $start;
++    if ($diff<60)
++       return $diff . " second" . plural($diff);
++    $diff = round($diff/60);
++    if ($diff<60)
++       return $diff . " minute" . plural($diff);
++    $diff = round($diff/60);
++    if ($diff<24)
++       return $diff . " hour" . plural($diff);
++    $diff = round($diff/24);
++
++    return $diff . " day" . plural($diff);
++}
++
+ $g_user = isset($_GET['user']) ? htmlentities(strip_tags($_GET['user'])) : null;
+ 
+ $upload_dir = '/home/schedbot/uploads';
+@@ -97,84 +175,52 @@
+ // sort by key in reverse order to have more recent pkgs first
+ krsort($pkgs);
+ 
+-/**
+- * @param array $pkg
+- *
+- * @return string
+-*/
+-function pkg_gettype($pkg) {
+-    if (array_key_exists("rejected", $pkg["status"]))
+-        return "rejected";
+-    if (array_key_exists("youri", $pkg["status"])) {
+-        if (array_key_exists("src", $pkg["status"]))
+-            return "youri";
+-        else
+-            return "uploaded";
+-    }
+-    if (array_key_exists("failure", $pkg["status"]))
+-        return "failure";
+-    if (array_key_exists("done", $pkg["status"]))
+-        return "partial";
+-    if (array_key_exists("build", $pkg["status"]))
+-        return "building";
+-    if (array_key_exists("todo", $pkg["status"]))
+-        return "todo";
+-    return "unknown";
+-}
++// count all packages statuses
++$stats = array(
++    'uploaded' => 0,
++    'failure'  => 0,
++    'todo'     => 0,
++    'building' => 0,
++    'partial'  => 0,
++    'built'    => 0,
++);
++$total = count($pkgs);
+ 
+-/**
+- * @param integer $num
+- *
+- * @return string
+-*/
+-function plural($num) {
+-    if ($num > 1)
+-        return "s";
+-}
++// count users' packages
++$users = array();
+ 
+-/**
+- * Return timestamp from package key
+- * @param string $key package submission key
+- *
+- * @return integer
+-*/
++if ($total > 0) {
++    foreach ($pkgs as $key => $p) {
++        $pkgs[$key]['type'] = pkg_gettype($p);
+ 
+-function key2timestamp($key) {
+-    global $tz;
++        $stats[$pkgs[$key]['type']] += 1;
+ 
+-    $date = DateTime::createFromFormat("YmdHis", $key+0, $tz);
+-    if ($date <= 0)
+-        return null;
+-
+-    return $date->getTimestamp();
++        if (!array_key_exists($p['user'], $users))
++            $users[$p['user']] = 1;
++        else
++            $users[$p['user']] += 1;
++    }
+ }
+ 
+-function timediff($start, $end) {
+-/**
+- * Return human-readable time difference
+- *
+- * @param integer $start timestamp
+- * @param integer $end timestamp, defaults to now
+- *
+- * @return string
+-*/
+-    if (is_null($end)) {
+-	$end = time();
+-    }
+-    $diff = $end - $start;
+-    if ($diff<60)
+-       return $diff . " second" . plural($diff);
+-    $diff = round($diff/60);
+-    if ($diff<60)
+-       return $diff . " minute" . plural($diff);
+-    $diff = round($diff/60);
+-    if ($diff<24)
+-       return $diff . " hour" . plural($diff);
+-    $diff = round($diff/24);
++// feedback labels
++$badges = array(
++    'uploaded' => 'Congrats %s! \o/',
++    'failure'  => 'Booooo! /o\\',
++    'todo'     => '',
++    'building' => '',
++    'partial'  => '',
++    'built'    => ''
++);
+ 
+-    return $diff . " day" . plural($diff);
++foreach ($stats as $k => $v) {
++    Header("X-BS-Queue-$k: $v");
+ }
+ 
++$w = $stats['todo'] - 10;
++if($w < 0)
++    $w = 0;
++$w = $w * 60;
++Header("X-BS-Throttle: $w");
+ ?>
+ <!DOCTYPE html>
+ <html lang="en">
+@@ -251,41 +297,8 @@
+     <td class="status-box"></td>
+ T;
+ 
+-// count all packages statuses
+-$stats = array(
+-    'uploaded' => 0,
+-    'failure'  => 0,
+-    'todo'     => 0,
+-    'building' => 0,
+-    'partial'  => 0,
+-    'built'    => 0,
+-);
+-$total = count($pkgs);
+-
+-// count users' packages
+-$users = array();
+-
+-// feedback labels
+-$badges = array(
+-    'uploaded' => 'Congrats %s! \o/',
+-    'failure'  => 'Booooo! /o\\',
+-    'todo'     => '',
+-    'building' => '',
+-    'partial'  => '',
+-    'built'    => ''
+-);
+-
+ if ($total > 0) {
+     foreach ($pkgs as $key => $p) {
+-        $p['type'] = pkg_gettype($p);
+-
+-        $stats[$p['type']] += 1;
+-
+-        if (!array_key_exists($p['user'], $users))
+-            $users[$p['user']] = 1;
+-        else
+-            $users[$p['user']] += 1;
+-
+         $s .= sprintf($tmpl,
+             $p['type'],
+             timediff(key2timestamp($key)) . ' ago',
+-------------- next part --------------
+An HTML attachment was scrubbed...
+URL: </pipermail/mageia-sysadm/attachments/20110121/d701158a/attachment-0001.html>
+
+ + + + + + + + + + + +
+

+ +
+More information about the Mageia-sysadm +mailing list
+ -- cgit v1.2.1