Ver Fonte

Add files and doc to execute gource on Dolibarr git project

Laurent Destailleur há 5 anos atrás
pai
commit
9055d1a4c0
3 ficheiros alterados com 54 adições e 0 exclusões
  1. 4 0
      build/gource/README.md
  2. 1 0
      build/gource/avatars/.gitignore
  3. 49 0
      build/gource/getavatars.pl

+ 4 - 0
build/gource/README.md

@@ -0,0 +1,4 @@
+# Command to run gource on Dolibarr git project.
+
+cd ~/git/dolibarr
+gource -logo doc/images/appicon_64.png --highlight-users --highlight-colour FFFF88 -s 0.2 -1280x720 -r 25 -title 'Dolibarr ERP CRM Genesis' --stop-at-end --filename-time 2 --user-image-dir build/gource/avatars

+ 1 - 0
build/gource/avatars/.gitignore

@@ -0,0 +1 @@
+/*.png

+ 49 - 0
build/gource/getavatars.pl

@@ -0,0 +1,49 @@
+#!/usr/bin/perl
+#fetch Gravatars
+
+use strict;
+use warnings;
+
+use LWP::Simple;
+use Digest::MD5 qw(md5_hex);
+
+my $size       = 90;
+my $output_dir = './avatars';
+
+die("no .git/ directory found in current path\n") unless -d './avatars';
+
+mkdir($output_dir) unless -d $output_dir;
+
+open(GITLOG, q/git log --pretty=format:"%ae|%an" |/) or die("failed to read git-log: $!\n");
+
+my %processed_authors;
+
+while(<GITLOG>) {
+    chomp;
+    my($email, $author) = split(/\|/, $_);
+
+    next if $processed_authors{$author}++;
+
+    my $author_image_file = $output_dir . '/' . $author . '.png';
+
+    #skip images we have
+    next if -e $author_image_file;
+
+    #try and fetch image
+
+    my $grav_url = "http://www.gravatar.com/avatar/".md5_hex(lc $email)."?d=404&size=".$size; 
+
+    warn "fetching image for '$author' $email ($grav_url)...\n";
+
+    my $rc = getstore($grav_url, $author_image_file);
+
+    sleep(1);
+
+    if($rc != 200) {
+        unlink($author_image_file);
+        next;
+    }
+}
+
+close GITLOG;
+