You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@community.apache.org by rb...@apache.org on 2016/12/13 19:48:01 UTC

svn commit: r1774092 - /comdev/tools/birthday.pl

Author: rbowen
Date: Tue Dec 13 19:48:01 2016
New Revision: 1774092

URL: http://svn.apache.org/viewvc?rev=1774092&view=rev
Log:
Script to generate birthday tweets

Added:
    comdev/tools/birthday.pl   (with props)

Added: comdev/tools/birthday.pl
URL: http://svn.apache.org/viewvc/comdev/tools/birthday.pl?rev=1774092&view=auto
==============================================================================
--- comdev/tools/birthday.pl (added)
+++ comdev/tools/birthday.pl Tue Dec 13 19:48:01 2016
@@ -0,0 +1,52 @@
+#!/usr/bin/perl
+
+# Generates the csv file that I import into Hootsuite each month to do
+# the #ApacheBirthday tweets.
+# Note that as per https://s.apache.org/C3K7 this output isn't actually
+# correct, which hopefully I can fix before I need to use this script
+# the next time.
+
+use strict;
+use warnings;
+use JSON::Parse qw(parse_json);
+use LWP::UserAgent;
+use HTTP::Request;
+use Data::Dumper;
+
+my $month = $ARGV[0];
+usage() unless $month;
+
+my $thisyear = (localtime(time))[5] + 1900;
+
+my $where = 'https://projects.apache.org/json/foundation/projects.json';
+
+# Fetch the json
+my $ua = LWP::UserAgent->new(timeout=>30, agent=>"Twitter4Ponies/0.1 ");
+my $res = $ua->request(HTTP::Request->new(GET => $where)); 
+my $projects = parse_json( $res->content );
+
+foreach my $proj ( keys %$projects ) {
+    my $d = $projects->{$proj}->{created};
+    next unless $d;
+    next unless $d =~ m/-$month-/;
+
+    my $y = ( $d =~ m/(\d\d\d\d)/ )[0];
+    my $age = $thisyear - $y;
+
+    print '"01/' . "$month/$thisyear 09:00:00" . '",';
+    print '"';
+    print "Happy birthday to " .
+            $projects->{$proj}->{name} .
+            " celebrating " . $age;
+    print ( ($age > 1) ? ' years ' : ' year ' );
+    print "this month. #ApacheBirthday";
+    print '","';
+    print "http://$proj.apache.org/";
+    print '"' . "\n";
+
+}
+
+sub usage {
+    print "Usage: ./birthday.pl MONTH - eg, ./birthday.pl 07\n";
+    exit();
+}

Propchange: comdev/tools/birthday.pl
------------------------------------------------------------------------------
    svn:executable = *