[tor-commits] [webwml/staging] press: add press/press.pl to ease updates

hiro at torproject.org hiro at torproject.org
Mon Oct 22 13:10:35 UTC 2018


commit e2276dc0de2a258652dce7d2a253974087875ca4
Author: traumschule <traumschuleriebau at riseup.net>
Date:   Tue Sep 11 13:11:21 2018 +0200

    press: add press/press.pl to ease updates
---
 press/press.pl | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/press/press.pl b/press/press.pl
new file mode 100755
index 00000000..d0c16a9e
--- /dev/null
+++ b/press/press.pl
@@ -0,0 +1,59 @@
+#!/usr/bin/env perl
+# Returns html rows based on csv lines
+# Usage: /path/to/script /path/to/csv/file > file
+use strict;
+use warnings;
+#use HTML::Escape qw/escape_html/;
+
+my $str; # append all strings here
+
+sub print_rows {
+  my $string = shift;
+
+  # define where to output to:
+  #  1) STDOUT
+  print "$string";
+
+  #  2) press.html
+  #open my $out, '>>', 'press.html';
+  #print $out $string;
+  #  3) escaped htmlfile (install module above: cpan -i HTML::Escape
+  #print $out escape_html($string);
+  #close $out;
+}
+sub add_row {
+  $str .= shift;
+}
+sub parse_line {
+  my $str = shift;
+  if ($str =~ /(\d+\/\d+\/\d+),([^,]+),(.+),(.+)/) { # magic regex :)
+      chomp(my $date = qx/LANG=en_US.UTF-8 date -d "$1" "+%Y %B %d"/);
+      chomp(my $source = $2);
+      my $name = $3;
+      my $url = $4;
+      my $string = "
+<tr>
+<td>$date</td>
+<td>$source</td>
+<td><a href=\"$url\">$name</a></td>
+</tr>
+";
+    add_row $string;
+  }
+}
+
+foreach my $arg (@ARGV) {
+  chomp($arg);
+  if (-f $arg) {
+    open my $fh, '<', $arg
+      or warn "Can't open '$arg': $!\n" and next;
+    foreach (<$fh>) {
+      parse_line $_;
+    }
+    close $fh;
+  } else {
+    parse_line $arg;
+  }
+}
+if ($str) { print_rows $str; }
+else { print "Nothing found.\n"; exit 1; }





More information about the tor-commits mailing list