]> rtime.felk.cvut.cz Git - edu/osp-wiki.git/blobdiff - student/projects.pl
Merge branch 'master' into uloha-server
[edu/osp-wiki.git] / student / projects.pl
index 3a2ebc6ff4cde55be6f5bac1fe773ee1946397ae..d35f490d673e0edcc4f359423ea29a4fac5682fe 100755 (executable)
@@ -5,18 +5,24 @@ use Data::Dumper;
 my %projects;
 
 
-foreach my $year(qw/2010/) {
-    open LIST, "projects2010";
+foreach my $year (qw/2010 2011 2012 2013 2014/) {
+    open LIST, "projects$year";
     while (<LIST>) {
        chomp;
        my $file = $_;
        my ($project, $url, $name);
        open PAGE, $file;
        while (<PAGE>) {
+           if (/Project name and homepage[:* ]*\[([^\[\]]*)\]\(([^()]*)\)/) {
+               $project = $1;
+               $url = $2;
+           }
            if (/(Název projektu|Project name)[:* ]*(.*)/) {
-               $project = $2;
+               if (!$project) {
+                   $project = $2;
+               }
            }
-           if (/(Domovská stránka projektu|Project home ?page)[:* ]*<(.*)>/) {
+           if (/(Domovská stránka projektu|Project home ?page)[:* ]*<([^<>]*)>/) {
                $url = $2;
            }
            if (/\[\[!meta title="([^"]*)"\]\]/) {
@@ -24,18 +30,28 @@ foreach my $year(qw/2010/) {
            }
        }
 
+       if (!$project or !$name or !$url) {
+           print STDERR "Expected field missing in $file\n";
+        }
+
+       print STDERR "Working on student $name ($year)\n";
        if (!$projects{$project}) {
            $projects{$project} = {};
            $projects{$project}{'students'} = [];
        }
        my $p = $projects{$project};
-       $$p{'url'} = $url;
+       if (!$$p{'url'} or $url) {
+           $$p{'url'} = $url;
+       }
        push @{$$p{'students'}}, { 'file' => $file, 'name' => $name, 'year' => $year };
     }
 }
 
-print '[[!meta title="Projekty"]]\n';
-print '[[!meta stylesheet="/columns" rel="stylesheet"]]\n';
+print '[[!meta title="Projekty"]]'."\n";
+print '[[!meta stylesheet="/columns" rel="stylesheet"]]'."\n";
+print "\n";
+print 'This page lists the projects and which students worked on them in the'."\n";
+print 'past years.'."\n";
 
 foreach (sort(keys(%projects))) {
     print "\n* [$_](", $projects{$_}{'url'}, ")\n";