]> rtime.felk.cvut.cz Git - edu/osp-wiki.git/blobdiff - student/projects.pl
Rework project generation script to support multiple years
[edu/osp-wiki.git] / student / projects.pl
old mode 100644 (file)
new mode 100755 (executable)
index f3f9ee1..3a2ebc6
@@ -4,44 +4,49 @@ use Data::Dumper;
 
 my %projects;
 
-open LIST, "projects2010";
-while (<LIST>) {
-    chomp;
-    my $file = $_;
-    my ($project, $url, $name);
-    open PAGE, $file;
-    while (<PAGE>) {
-       if (/(Název projektu|Project name)[:* ]*(.*)/) {
-           $project = $2;
-       }
-       if (/(Domovská stránka projektu|Project home ?page)[:* ]*<(.*)>/) {
-           $url = $2;
-       }
-       if (/\[\[!meta title="([^"]*)"\]\]/) {
-           $name = $1;
+
+foreach my $year(qw/2010/) {
+    open LIST, "projects2010";
+    while (<LIST>) {
+       chomp;
+       my $file = $_;
+       my ($project, $url, $name);
+       open PAGE, $file;
+       while (<PAGE>) {
+           if (/(Název projektu|Project name)[:* ]*(.*)/) {
+               $project = $2;
+           }
+           if (/(Domovská stránka projektu|Project home ?page)[:* ]*<(.*)>/) {
+               $url = $2;
+           }
+           if (/\[\[!meta title="([^"]*)"\]\]/) {
+               $name = $1;
+           }
        }
-    }
 
-    if (!$projects{$project}) {
-       $projects{$project} = {};
-       $projects{$project}{'students'} = [];
+       if (!$projects{$project}) {
+           $projects{$project} = {};
+           $projects{$project}{'students'} = [];
+       }
+       my $p = $projects{$project};
+       $$p{'url'} = $url;
+       push @{$$p{'students'}}, { 'file' => $file, 'name' => $name, 'year' => $year };
     }
-    my $p = $projects{$project};
-    $$p{'url'} = $url;
-    push @{$$p{'students'}}, { 'file' => $file, 'name' => $name };
 }
 
-print '[[!meta title="Projekty"]]', "\n";
-
+print '[[!meta title="Projekty"]]\n';
+print '[[!meta stylesheet="/columns" rel="stylesheet"]]\n';
 
 foreach (sort(keys(%projects))) {
     print "\n* [$_](", $projects{$_}{'url'}, ")\n";
     #print Dumper($projects{$_}{'students'});
     foreach (@{$projects{$_}{'students'}}) {
-       my $login = $_->{'file'};
-       $login =~ s,/.*,,;
-       my $name = $_->{'name'} || "???"; #$login;
+       my $page = $_->{'file'};
+       $page =~ s|.mdwn$||;
+       $page =~ s|/index$||;
+       my $name = $_->{'name'} || "???";
+       my $year = $_->{'year'} || "20??";
        
-       print "  * [[", $name || "", "|student/", $login, "]]\n";
+       print "  * [[", $name || "", "|student/", $page, "]] ($year)\n";
     }
 }