So you edit this file
/usr/share/koji-web/scripts/hosts.chtml
change the displaying if-block
#if $len($hosts) > 0 #for $host in $hosts #if (($time.time() - $time.mktime($time.strptime($util.formatTime($host.last_update),'%Y-%m-%d %H:%M:%S'))) < (15 * 60)): #continue #end if <tr class="$util.rowToggle($self)"> <td>$host.id</td> <td><a href="hostinfo?hostID=$host.id"><b><font color="red">$host.name</font></b></a></td> <td>$host.arches</td> <td class="$str($bool($host.enabled)).lower()">#if $host.enabled then $util.imageTag('yes') else $util.imageTag('no')#</td> <td class="$str($bool($host.ready)).lower()">#if $host.ready then $util.imageTag('yes') else $util.imageTag('no')#</td> <td>$util.formatTime($host.last_update)</td> </tr> #end for #for $host in $hosts #if (($time.time() - $time.mktime($time.strptime($util.formatTime($host.last_update),'%Y-%m-%d %H:%M:%S'))) >= (15 * 60)): #continue #end if <tr class="$util.rowToggle($self)"> <td>$host.id</td> <td><a href="hostinfo?hostID=$host.id"><b><font color="green">$host.name</font></b></a></td> <td>$host.arches</td> <td class="$str($bool($host.enabled)).lower()">#if $host.enabled then $util.imageTag('yes') else $util.imageTag('no')#</td> <td class="$str($bool($host.ready)).lower()">#if $host.ready then $util.imageTag('yes') else $util.imageTag('no')#</td> <td>$util.formatTime($host.last_update)</td> </tr> #end for #else
– OR THE HARDER WAY –
edit
/usr/share/koji-web/scripts/includes/header.chtml
add this line right before the ending </head> tag
#include "includes/hosts.js"
and you create a file in the same directory named hosts.js with
<script> var hoststat = 0; function conmonth(monthstr) { var x, l, m; var monthary = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; l = monthary.length; m = monthstr.length; for (x = 0; x < l; ++x) { if (monthary[x].substring(0, m) == monthstr) { return (x + ""); } } return (0 + ""); } function procdown(rowdlist) { var x, l = rowdlist.length, z; var coldlist, objclist; var locldate, loclutct; var hostdate, hostutct; var logiinfo = document.getElementById("loginInfo"); var dateobjc = logiinfo.innerHTML.replace(/[\t\r\n]/g, "").match(/^.*[^ ]+ ([^ ]+) ([^ ]+) ([^ ]+) ([^ ]+) UTC.*$/); locldate = (dateobjc[3] + ":" + conmonth(dateobjc[2]) + ":" + dateobjc[1] + ":" + dateobjc[4]).split(":"); loclutct = new Date(locldate[0], locldate[1], locldate[2], locldate[3], locldate[4], locldate[5]); for (x = 0; x < l; ++x) { coldlist = rowdlist[x].getElementsByTagName("td"); if (coldlist.length < 6) { continue; } hostdate = coldlist[5].innerHTML.replace(/^[^0-9]*/g, "").replace(/[^0-9]*$/g, "").replace(/[^0-9]/g, ":").split(":"); if (hostdate.length < 6) { continue; } objclist = coldlist[1].getElementsByTagName("a"); hostutct = new Date(hostdate[0], parseInt(hostdate[1].replace(/^[^1-9]*/g, "")) - 1, hostdate[2], hostdate[3], hostdate[4], hostdate[5]); if (objclist.length > 0) { if ((hostutct.getTime() / 1000) <= ((loclutct.getTime() / 1000) - (15 * 60))) { objclist[0].innerHTML = ("<b><font color=\"red\">" + objclist[0].innerHTML + "</font></b>"); } else { objclist[0].innerHTML = ("<b><font color=\"green\">" + objclist[0].innerHTML + "</font></b>"); } } } } function redotabl() { var x, l; var downlist = [], rowdlist = ["row-odd", "row-even"]; var tabllist = document.getElementsByClassName("data-list"); var tablrowd; if (tabllist.length > 0) { l = tabllist[0].rows.length; for (x = 0; x < l; ++x) { if (tabllist[0].rows[x].innerHTML.replace(/[\t\r\n]/g, "").match(/^.*font.*color.*red.*$/)) { downlist.unshift([x, tabllist[0].rows[x].innerHTML]); } } l = downlist.length; for (x = 0; x < l; ++x) { tabllist[0].deleteRow(downlist[x][0]); } for (x = 0; x < l; ++x) { tablrowd = tabllist[0].insertRow(3); tablrowd.innerHTML = downlist[x][1]; } l = tabllist[0].rows.length; for (x = 3; x < l; ++x) { tabllist[0].rows[x].className = rowdlist[(x - 3) % 2]; } } } function hostloop() { var oddrlist = document.getElementsByClassName("row-odd"); var evenlist = document.getElementsByClassName("row-even"); if ((oddrlist.length > 0) || (evenlist.length > 0)) { procdown(oddrlist); procdown(evenlist); redotabl(); hoststat = 1; } if (hoststat == 0) { setTimeout("hostloop();", 0.5 * 1000); } } if (location.href.match(/^.*hosts.*$/)) { hostloop(); } </script>