File: get-authors.pl

package info (click to toggle)
libyahoo 0.18.4-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 900 kB
  • ctags: 361
  • sloc: sh: 6,708; ansic: 4,227; makefile: 84; perl: 53
file content (99 lines) | stat: -rwxr-xr-x 2,151 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#!/usr/bin/perl

#
# Copyright (C) 2001 Subhash Chandra <yschandra@yahoo.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#

use strict;

my $Authors_File = "AUTHORS";
my $Header = "libyahoo-authors.h";
my @Author;
my @Email;
my $Authors_Count = 0;

read_authors_file();
generate_header();

sub read_authors_file {

	my @lines;
	my $i;

	open(INFILE, "<$Authors_File") || die "Could not open file $Authors_File\n";

	@lines = <INFILE>;
	close(INFILE);

	chomp(@lines);

	for ($i = 0; $i < @lines; ++$i) {

		if ($lines[$i] =~ m/([a-zA-Z\.\s]+)(<.*>)\s*$/) {
			push(@Author, $1);
			push(@Email, $2);
			++$Authors_Count;
		} elsif ($lines[$i + 1] =~ m/^-+\s*$/) {
			push(@Author, $lines[$i]);
			push(@Email, $lines[$i + 1]);
			++$i;
			$Authors_Count += 3;
		}
	}

	return;

}

sub generate_header {

	my $i;

	open(OUTFILE, ">$Header") || die "Could not open file $Header\n";

	select OUTFILE;

	print "#ifndef LIBYAHOO_AUTHORS_H\n";
	print "#define LIBYAHOO_AUTHORS_H\n\n";

	print "#define LIBYAHOO_AUTHORS_COUNT $Authors_Count\n\n";

	print "static gchar *libyahoo_authors[LIBYAHOO_AUTHORS_COUNT][2] = {\n";

	for ($i = 0; $i < @Author; ++$i) {

		if ($Email[$i] =~ m/^-+\s*$/) {

			if ($i != 0) {
				print "  {\"\", \"\"},\n";
			}
			print "  {\"$Author[$i]\", \"\"},\n";
			print "  {\"$Email[$i]\", \"\"},\n";

		} else {
			print "  {\"$Author[$i]\", \"$Email[$i]\"},\n";
		}

	}

	print "  {\"\", \"\"}\n";
	print "};\n\n";
	print "#endif /* LIBYAHOO_AUTHORS_H */\n\n";

	close(OUTFILE);

}