diff options
| author | Paul Buetow <paul@buetow.org> | 2025-09-24 09:25:16 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-09-24 09:25:16 +0300 |
| commit | 9197f6db56a2e86753e88d65dfca9942128c02cc (patch) | |
| tree | 5c1f86be054b0bc521265bd3add0482f3990dd4f /frontends/scripts | |
| parent | 5ced3a1d8ea6d7d5ee158c76fa1910645c7c464d (diff) | |
Update
Diffstat (limited to 'frontends/scripts')
| -rw-r--r-- | frontends/scripts/fooodds.txt | 184 | ||||
| -rw-r--r-- | frontends/scripts/foostats.pl | 45 |
2 files changed, 216 insertions, 13 deletions
diff --git a/frontends/scripts/fooodds.txt b/frontends/scripts/fooodds.txt index 3fee942..0e08bdd 100644 --- a/frontends/scripts/fooodds.txt +++ b/frontends/scripts/fooodds.txt @@ -1,23 +1,191 @@ % + .. +/actuator +/actuator/health /admin +/ajax +alfacgiapi +/ALFA_DATA +/api +/apply.cgi +/ARest1.exe .asp +/aspera +/assets +/audiobookshelf +/auth +/autodiscover +/.aws +/bac +/back +/backup +/bak +/base +/.bash_history +/bf +/bin +/bin/sh +/bk +/bkp +/blog +/blurs +/boaform +/boafrm +/.bod +/Br7q +/british-airways +/buetow.org.zip +/buetow.zip +/burodecredito +/c +/.cache +/ccaguardians +/cdn-cgi +/centralbankthailand +/cfdump.packetsdatabase.com +/charlesbridge +/check.txt +/cimtechsolutions +/.circleci +/c/k2 +/ckfinder +/client.zip +/cloud-config.yml +/cloudflare.com +/clssettlement +/cmd,/simZysh/register_main/setCookie +/cn/cmd +/codeberg +/CODE_OF_CONDUCT.md +/columbiagas +/common_page +/comp +/concerto +/config +/config.json +/config.xml +/Config.xml +/config.yaml +/config.yml +/connectivitycheck.gstatic.com +/connector.sds +/console +/contact-information.html +/contact-us +/containers +/CONTRIBUTING.md +/credentials.txt +/crivo +/current_config +/cwservices +/daAV +/dana-cached +/dana-na +/database_backup.sql +/.database.bak +/database.sql +/data.zip +/db +/debug +/debug.cgi +/decoherence-is-just-realizing-this +/demo +/developmentserver +/directory.gz +/directory.tar +/directory.zip +/dir.html +/DnHb +/dns-query +docker-compose +/docker-compose.yml +/?document=images +/Dorybau2.html +/Dorybau.html +/dory.buetow.org +/download +/DpbF +/druid +/dtail.dev.gz +/dtail.dev.sql +/dtail.dev.tar.gz +/dtail.dev.zip +/dtail.html +/dtail.zip +/dump.sql +/dvQ1 +/dvr/cmd +/edualy-shammin +/ekggho .env +/epa +/etc +/eW9h +/ews +/F3to +/f3Yk +/fahrzeugtechnik.fh-joanneum.at +/failedbythefos +/features +/federalhomeloanbankofdesmoines +/fhir +/fhir-server +/file-manager +/files +/files.zip +/firstfinancial +/flash +/flower +/foostats +/footlocker +/foo.zip +/foo.zone.bz2 +/foozone.webp +/foo.zone.zip +/form.html +/freeze.na4u.ru +/frontend.zip +/ftpsync.settings +/full_backup.zip +/FvwmRearrange.png +/gdb.pdf +/geoserver .git +/git-guides +/global-protect +/gm-donate.net +/GMUs +/goform +/google.com +/GoRU +/GponForm +/helpdesk +/high-noise-level-for-that-earth-day-with-colors-gay +/his-viewpoint-is-not-economics-until-they-harden +/hN6p HNAP1 +/hp +/_ignition +jndi:ldap +.js .lua microsoft.exchange /owa/ .php +/phpinfo +phpunit +/portal/redlion +/_profiler +.rar +/RDWeb robots.txt +/SDK +/sitemap.xml +/sites +.sql +/ueditor +/vendor +@vite wordpress /wp -.rar -/config.json -/sitemap.xml -/actuator/health -/portal/redlion -/SDK -/bin/sh -.js diff --git a/frontends/scripts/foostats.pl b/frontends/scripts/foostats.pl index eca3997..215960a 100644 --- a/frontends/scripts/foostats.pl +++ b/frontends/scripts/foostats.pl @@ -1073,6 +1073,7 @@ package Foostats::Reporter { my ($lines) = @_; my $html = "<table>\n"; my $row_count = 0; + my $total_col_idx = -1; for my $line (@$lines) { @@ -1084,13 +1085,28 @@ package Foostats::Reporter { @cells = grep { length($_) > 0 } @cells; # Remove empty cells if (@cells) { + my $is_total_row = (trim($cells[0]) eq 'Total'); $html .= "<tr>\n"; - # First row is header + if ($row_count == 0) { # Header row + for my $i (0 .. $#cells) { + if (trim($cells[$i]) eq 'Total') { + $total_col_idx = $i; + last; + } + } + } + my $tag = ($row_count == 0) ? "th" : "td"; - for my $cell (@cells) { - my $val = trim($cell); - $html .= " <$tag>" . linkify_text($val) . "</$tag>\n"; + for my $i (0 .. $#cells) { + my $val = trim($cells[$i]); + my $cell_content = linkify_text($val); + + if ($is_total_row || ($i == $total_col_idx && $row_count > 0)) { + $html .= " <$tag><b>" . $cell_content . "</b></$tag>\n"; + } else { + $html .= " <$tag>" . $cell_content . "</$tag>\n"; + } } $html .= "</tr>\n"; $row_count++; @@ -1517,11 +1533,30 @@ $content return "" unless $days_with_stats > 0; my @avg_rows; - for my $key (sort keys %totals) { + my $total_avg = 0; + my $has_total = 0; + + # Separate 'Total' from other keys + my @other_keys; + for my $key (keys %totals) { + if ($key eq 'Total') { + $total_avg = sprintf("%.2f", $totals{$key} / $days_with_stats); + $has_total = 1; + } else { + push @other_keys, $key; + } + } + + # Sort other keys and create rows + for my $key (sort @other_keys) { my $avg = sprintf("%.2f", $totals{$key} / $days_with_stats); push @avg_rows, [ $key, $avg ]; } + # Add Total row at the end + push @avg_rows, [ 'Total', $total_avg ] if $has_total; + + my $content = "### Feed Statistics Daily Average (Last 30 Days)\n\n```\n"; $content .= format_table([ 'Feed Type', 'Daily Average' ], \@avg_rows); $content .= "\n```\n\n"; |
