]> rtime.felk.cvut.cz Git - edu/osp-wiki.git/blob - student/projects.pl
attachment upload
[edu/osp-wiki.git] / student / projects.pl
1 #!/usr/bin/perl -w
2 use strict;
3 use Data::Dumper;
4
5 my %projects;
6
7
8 foreach my $year (qw/2010 2011 2012/) {
9     open LIST, "projects$year";
10     while (<LIST>) {
11         chomp;
12         my $file = $_;
13         my ($project, $url, $name);
14         open PAGE, $file;
15         while (<PAGE>) {
16             if (/(Název projektu|Project name)[:* ]*(.*)/) {
17                 $project = $2;
18             }
19             if (/(Domovská stránka projektu|Project home ?page)[:* ]*<(.*)>/) {
20                 $url = $2;
21             }
22             if (/\[\[!meta title="([^"]*)"\]\]/) {
23                 $name = $1;
24             }
25         }
26
27         print STDERR "Working on student $name ($year)\n";
28         if (!$projects{$project}) {
29             $projects{$project} = {};
30             $projects{$project}{'students'} = [];
31         }
32         my $p = $projects{$project};
33         $$p{'url'} = $url;
34         push @{$$p{'students'}}, { 'file' => $file, 'name' => $name, 'year' => $year };
35     }
36 }
37
38 print '[[!meta title="Projekty"]]'."\n";
39 print '[[!meta stylesheet="/columns" rel="stylesheet"]]'."\n";
40
41 foreach (sort(keys(%projects))) {
42     print "\n* [$_](", $projects{$_}{'url'}, ")\n";
43     #print Dumper($projects{$_}{'students'});
44     foreach (@{$projects{$_}{'students'}}) {
45         my $page = $_->{'file'};
46         $page =~ s|.mdwn$||;
47         $page =~ s|/index$||;
48         my $name = $_->{'name'} || "???";
49         my $year = $_->{'year'} || "20??";
50         
51         print "  * [[", $name || "", "|student/", $page, "]] ($year)\n";
52     }
53 }