summaryrefslogtreecommitdiff
path: root/lib/Multi
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2008-12-07 19:39:13 +0100
committerYorhel <git@yorhel.nl>2008-12-07 19:39:13 +0100
commit606a3f645767db6263506b146610df36242fa33a (patch)
treeec705727ba784caa355cf8af913950555a9ff771 /lib/Multi
parent40797ed315c9d58f9d5042c02ef165dceb944610 (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.pm23
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];