Compare commits

...

3 Commits

Author SHA1 Message Date
a3e722589f Merge pull request '[I212] Fix general series page generation' (#213) from i212-fix-general-series-page-generation into main
Reviewed-on: #213
2024-10-09 11:15:33 +00:00
85d43851d1
Fix substring initial offset value
Remove only the leading comma character.
2024-10-08 21:49:58 -04:00
8b277607cf
Fix guard for unitialized variable
The original guard was preventing an id with value of
zero from being processed correctly.
2024-10-08 17:37:48 -04:00

View File

@ -290,26 +290,23 @@ sub parse_page_arg {
# Split page name from page ids if available. # Split page name from page ids if available.
my ($page, $ids) = split(/=/, $page_arg); my ($page, $ids) = split(/=/, $page_arg);
my @ids; my @ids;
$ids = "" unless defined $ids;
if(!$ids) { # Parse the page ids and push them onto @ids array
$ids = ""; my @ids_by_comma = split(/\,/, $ids);
} foreach my $id_by_comma (@ids_by_comma) {
else { my @ids_for_range = split(/\.\./, $id_by_comma);
# Parse the page ids and push them onto @ids array if ((scalar @ids_for_range) == 2) {
my @ids_by_comma = split(/\,/, $ids); push @ids, $ids_for_range[0]..$ids_for_range[1];
foreach my $id_by_comma (@ids_by_comma) { }
my @ids_for_range = split(/\.\./, $id_by_comma); elsif ((scalar @ids_for_range) == 1) {
if ((scalar @ids_for_range) == 2) { push @ids, $ids_for_range[0];
push @ids, $ids_for_range[0]..$ids_for_range[1]; }
} else {
elsif ((scalar @ids_for_range) == 1) { verbose (1, "\nWarning: Page $page id range $id_by_comma could not be parsed.");
push @ids, $ids_for_range[0];
}
else {
verbose (1, "\nWarning: Page $page id range $id_by_comma could not be parsed.");
}
} }
} }
return ('page' => $page, 'ids' => [@ids]); return ('page' => $page, 'ids' => [@ids]);
} }
@ -326,7 +323,7 @@ sub get_ids_from_db {
|| die $tt->error(), "\n"; || die $tt->error(), "\n";
# Starts with a newline and comma # Starts with a newline and comma
return split(/,/, substr($selected_ids, 2)); return split(/,/, substr($selected_ids, 1));
} }
sub get_filename { sub get_filename {