summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2009-11-05 23:01:55 +0100
committerYorhel <git@yorhel.nl>2009-11-05 23:01:55 +0100
commited8192a652bc8c2b18c1cd9a52412faf0234966b (patch)
tree8cc7cd490982903d32a6e432cde09161c8076958 /lib
parent1ff074a56239fbd8e847010ba21e00067103afac (diff)
API: Added 'details' info flag to the get vn command
Diffstat (limited to 'lib')
-rw-r--r--lib/Multi/API.pm27
1 files changed, 21 insertions, 6 deletions
diff --git a/lib/Multi/API.pm b/lib/Multi/API.pm
index 53bb640a..c94c120b 100644
--- a/lib/Multi/API.pm
+++ b/lib/Multi/API.pm
@@ -294,9 +294,11 @@ sub login_res { # num, res, [ c, arg ]
sub get_vn {
my($c, $info, $filters) = @_[ARG0..$#_];
- return cerr $c, getinfo => "Unkown info flag '$_'", flag => $_ for (grep $_ ne 'basic', @$info);
+ return cerr $c, getinfo => "Unkown info flag '$_'", flag => $_ for (grep !/^(basic|details)$/, @$info);
- my $select = 'v.id, vr.title, vr.original, v.c_released, v.c_languages, v.c_platforms';
+ my $select = 'v.id';
+ $select .= ', vr.title, vr.original, v.c_released, v.c_languages, v.c_platforms' if grep /basic/, @$info;
+ $select .= ', vr.alias AS aliases, vr.length, vr.desc AS description, vr.l_wp, vr.l_encubed, vr.l_renai' if grep /details/, @$info;
my @placeholders;
my $where = encode_filters $filters, \&filtertosql, $c, \@placeholders, [
@@ -340,10 +342,23 @@ sub get_vn_res {
for (@$res) {
$_->{id}*=1;
- $_->{original} ||= undef;
- $_->{platforms} = [ split /\//, delete $_->{c_platforms} ];
- $_->{languages} = [ split /\//, delete $_->{c_languages} ];
- $_->{released} = formatdate delete $_->{c_released};
+ if(grep /basic/, @$info) {
+ $_->{original} ||= undef;
+ $_->{platforms} = [ split /\//, delete $_->{c_platforms} ];
+ $_->{languages} = [ split /\//, delete $_->{c_languages} ];
+ $_->{released} = formatdate delete $_->{c_released};
+ }
+ if(grep /details/, @$info) {
+ $_->{aliases} ||= undef;
+ $_->{length} *= 1;
+ $_->{length} ||= undef;
+ $_->{description} ||= undef;
+ $_->{links} = {
+ wikipedia => delete($_->{l_wp}) ||undef,
+ encubed => delete($_->{l_encubed})||undef,
+ renai => delete($_->{l_renai}) ||undef
+ };
+ }
}
$c->{wheel}->put([ results => { num => $#$res+1, items => $res }]);