diff options
author | Andreas K. Hüttel <dilfridge@gentoo.org> | 2017-04-03 21:49:36 +0200 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2017-04-03 21:49:36 +0200 |
commit | 3cb5227ea773b69574abf306174e296e1f1832aa (patch) | |
tree | eeb4ea6d496878d5439219644e556e2a3bfd4daa /decisions/makedevs | |
parent | Start slow pass 3: details fo 2005/9 and 2005/10 (diff) | |
download | council-3cb5227ea773b69574abf306174e296e1f1832aa.tar.gz council-3cb5227ea773b69574abf306174e296e1f1832aa.tar.bz2 council-3cb5227ea773b69574abf306174e296e1f1832aa.zip |
Add dev name files and continue improving
Diffstat (limited to 'decisions/makedevs')
-rwxr-xr-x | decisions/makedevs | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/decisions/makedevs b/decisions/makedevs new file mode 100755 index 0000000..51e4c72 --- /dev/null +++ b/decisions/makedevs @@ -0,0 +1,71 @@ +#!/usr/bin/perl + +use List::MoreUtils qw(uniq nsort_by); + +# four files: +# - der: input file, unsorted list of dev userids, may contain duplicates, +# generated by LaTeX +# - ded: database of developers, format +# * developer user id +# * real name (unicode, american convention Firstname X. Lastname) +# * link (wiki, homepage, ...) +# - deg: output file, LaTeX fragment that can be sourced + + + + +# Main code start + + + +# Read the list of devs referenced in the LaTeX file. +open my $der, '<', "decisions.der"; +my @derlist = <$der>; +close $der; +chomp @derlist; + +my @developers=uniq nsort_by { $_ } @derlist; + + + +# Read the database +open my $ded, '<', "decisions.ded"; + +my $devname={}; +my $devlink={}; + +while (1) { + defined ( my $uid=<$ded> ) or last; + defined ( my $name=<$ded> ) or last; + defined ( my $link=<$ded> ) or last; + chomp $uid; + chomp $name; + chomp $link; + $devname{$uid}=$name; + print "name of $uid is $name\n"; + $devlink{$uid}=$link; +}; + +close $ded; + + +# Write out the TeX input file +open my $deg, '>', "decisions.deg"; + +print $deg '\renewcommand{\devname}[1]{%'."\n"; +foreach(@developers) { + my $cur=$_; + + print $deg '\ifthenelse{\equal{#1}{'.$cur.'}}{'.$devname{$cur}.'}{}%'."\n"; +}; +print $deg '}'."\n"; + +print $deg '\renewcommand{\devlink}[1]{%'."\n"; +foreach(@developers) { + my $cur=$_; + + print $deg '\ifthenelse{\equal{#1}{'.$cur.'}}{'.$devlink{$cur}.'}{}%'."\n"; +}; +print $deg '}'."\n"; + +close $deg; |