]> rtime.felk.cvut.cz Git - edu/osp-wiki.git/blob - student/projects.pl
Pridan seznam projektu
[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 open LIST, "projects2010";
8 while (<LIST>) {
9     chomp;
10     my $file = $_;
11     my ($project, $url, $name);
12     open PAGE, $file;
13     while (<PAGE>) {
14         if (/(Název projektu|Project name)[:* ]*(.*)/) {
15             $project = $2;
16         }
17         if (/(Domovská stránka projektu|Project home ?page)[:* ]*<(.*)>/) {
18             $url = $2;
19         }
20         if (/\[\[!meta title="([^"]*)"\]\]/) {
21             $name = $1;
22         }
23     }
24
25     if (!$projects{$project}) {
26         $projects{$project} = {};
27         $projects{$project}{'students'} = [];
28     }
29     my $p = $projects{$project};
30     $$p{'url'} = $url;
31     push @{$$p{'students'}}, { 'file' => $file, 'name' => $name };
32 }
33
34 print '[[!meta title="Projekty"]]', "\n";
35
36
37 foreach (sort(keys(%projects))) {
38     print "\n* [$_](", $projects{$_}{'url'}, ")\n";
39     #print Dumper($projects{$_}{'students'});
40     foreach (@{$projects{$_}{'students'}}) {
41         my $login = $_->{'file'};
42         $login =~ s,/.*,,;
43         my $name = $_->{'name'} || "???"; #$login;
44         
45         print "  * [[", $name || "", "|student/", $login, "]]\n";
46     }
47 }