diff options
author | Yorhel <git@yorhel.nl> | 2008-12-07 19:39:13 +0100 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2008-12-07 19:39:13 +0100 |
commit | 606a3f645767db6263506b146610df36242fa33a (patch) | |
tree | ec705727ba784caa355cf8af913950555a9ff771 /lib/Multi | |
parent | 40797ed315c9d58f9d5042c02ef165dceb944610 (diff) |
Fixed a few bugs with the sitemap generator and cleaned up the code a bit
Diffstat (limited to 'lib/Multi')
-rw-r--r-- | lib/Multi/Sitemap.pm | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/lib/Multi/Sitemap.pm b/lib/Multi/Sitemap.pm index ded836ea..94986d52 100644 --- a/lib/Multi/Sitemap.pm +++ b/lib/Multi/Sitemap.pm @@ -20,8 +20,7 @@ sub spawn { $p => [qw| _start cmd_sitemap staticpages vnpages releasepages producerpages finish addurl |], ], heap => { - output => '/www/vndb/www/sitemap.xml.gz', - baseurl => $VNDB::VNDBopts{root_url}, + output => $VNDB::ROOT.'/www/sitemap.xml.gz', @_, } ); @@ -73,7 +72,7 @@ sub staticpages { for ( (</www/vndb/data/docs/*>) ); $_[KERNEL]->call(sitemap => addurl => $_, 'weekly') - for ( (map { 'v/'.$_ } 'a'..'z'), 'v/all', 'v/search', (map { 'p/'.$_ } 'a'..'z'), 'p/all'); + for (map { 'v/'.$_, 'p/'.$_ } 'a'..'z', 0, 'all'); $_[KERNEL]->yield('vnpages'); } @@ -89,10 +88,8 @@ sub vnpages { JOIN changes c ON vr.id = c.id |); $q->execute; - while(local $_ = $q->fetchrow_arrayref) { - $_[KERNEL]->call(sitemap => addurl => 'v'.$_->[0], 'weekly', $_->[1], 0.7); - $_[KERNEL]->call(sitemap => addurl => 'v'.$_->[0].'/rg', 'weekly', $_->[1], 0.7) if $_->[2]; - } + $_[KERNEL]->call(sitemap => addurl => 'v'.$_->[0], 'weekly', $_->[1], 0.7) + while(local $_ = $q->fetchrow_arrayref); $_[KERNEL]->yield('releasepages'); } @@ -108,9 +105,8 @@ sub releasepages { JOIN changes c ON c.id = rr.id |); $q->execute; - while(local $_ = $q->fetchrow_arrayref) { - $_[KERNEL]->call(sitemap => addurl => 'r'.$_->[0], 'weekly', $_->[1], 0.3); - } + $_[KERNEL]->call(sitemap => addurl => 'r'.$_->[0], 'weekly', $_->[1], 0.3) + while(local $_ = $q->fetchrow_arrayref); $_[KERNEL]->yield('producerpages'); } @@ -126,9 +122,8 @@ sub producerpages { JOIN changes c ON c.id = pr.id |); $q->execute; - while(local $_ = $q->fetchrow_arrayref) { - $_[KERNEL]->call(sitemap => addurl => 'p'.$_->[0], 'weekly', $_->[1]); - } + $_[KERNEL]->call(sitemap => addurl => 'p'.$_->[0], 'weekly', $_->[1]) + while(local $_ = $q->fetchrow_arrayref); $_[KERNEL]->yield('finish'); } @@ -146,7 +141,7 @@ sub finish { sub addurl { # loc, changefreq, lastmod, priority $_[HEAP]{xml}->startTag('url'); - $_[HEAP]{xml}->dataElement(loc => $_[HEAP]{baseurl}.'/'.$_[ARG0]); + $_[HEAP]{xml}->dataElement(loc => $VNDB::S{url}.'/'.$_[ARG0]); $_[HEAP]{xml}->dataElement(changefreq => $_[ARG1]) if defined $_[ARG1]; $_[HEAP]{xml}->dataElement(lastmod => DateTime->from_epoch(epoch => $_[ARG2])->ymd) if defined $_[ARG2]; $_[HEAP]{xml}->dataElement(priority => $_[ARG3]) if defined $_[ARG3]; |