diff options
author | Yorhel <git@yorhel.nl> | 2014-07-18 09:36:46 +0200 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2014-07-18 09:36:46 +0200 |
commit | 920226b34235bf79aa719fbb7519bf8532de85c3 (patch) | |
tree | c5e1824451fcbf98e5e88f903cc63034e7bc3367 | |
parent | 578d8e9ced5511e7165216296113fcd837037ee7 (diff) |
API: Add firstchar filter to get vn
-rw-r--r-- | data/docs/11 | 20 | ||||
-rw-r--r-- | lib/Multi/API.pm | 3 |
2 files changed, 19 insertions, 4 deletions
diff --git a/data/docs/11 b/data/docs/11 index 57443b8b..bef538d5 100644 --- a/data/docs/11 +++ b/data/docs/11 @@ -543,6 +543,17 @@ however still required.<br /> <td> </td> </tr> <tr> + <td>firstchar</td> + <td>null<br />string</td> + <td>= !=<br />= !=</td> + <td> + Filter by the first character of the title, similar to the + <a href="http://vndb.org/v/all">VN browser interface</a>. The character + must either be a lowercase 'a' to 'z', or null to match all titles not + starting with an alphabetic character. + </td> + </tr> + <tr class="odd"> <td>released</td> <td>null<br />date (string)</td> <td>= !=<br />= != > >= < <=</td> @@ -551,25 +562,25 @@ however still required.<br /> you want, use ranges instead, e.g. (released > "2008" and released <= "2009"). </td> </tr> - <tr class="odd"> + <tr> <td>platforms</td> <td>null<br />string<br />array of strings</td> <td><br />= !=</td> <td> </td> </tr> - <tr> + <tr class="odd"> <td>languages</td> <td>null<br />string<br />array of strings</td> <td><br />= !=</td> <td> </td> </tr> - <tr class="odd"> + <tr> <td>orig_lang</td> <td>string<br />array of strings</td> <td>= !=</td> <td> </td> </tr> - <tr> + <tr class="odd"> <td>search</td> <td>string</td> <td>~</td> @@ -1453,6 +1464,7 @@ however still required.<br /> <li>New error id: 'settype'</li> <li>Added "tags" flag and member to "get vn"</li> <li>Added "stats" flag to "get vn"</li> + <li>Added "firstchar" filter to "get vn"</li> </ul> <b>2.15</b> <ul> diff --git a/lib/Multi/API.pm b/lib/Multi/API.pm index b1b15d63..365d7ec0 100644 --- a/lib/Multi/API.pm +++ b/lib/Multi/API.pm @@ -507,6 +507,9 @@ sub get_vn { [ undef, "vr.original :op: ''", {qw|= = != <>|} ], [ str => 'vr.original :op: :value:', {qw|= = != <>|} ], [ str => 'vr.original ILIKE :value:', {'~',1}, process => \'like' ] + ], [ 'firstchar', + [ undef, '(:op: ((ASCII(vr.title) < 97 OR ASCII(vr.title) > 122) AND (ASCII(vr.title) < 65 OR ASCII(vr.title) > 90)))', {'=', '', '!=', 'NOT'} ], + [ str => 'LOWER(SUBSTR(vr.title, 1, 1)) :op: :value:' => {qw|= = != <>|}, process => sub { shift =~ /^([a-z])$/ ? $1 : \'Invalid character' } ], ], [ 'released', [ undef, 'v.c_released :op: 0', {qw|= = != <>|} ], [ str => 'v.c_released :op: :value:', {qw|= = != <> > > < < <= <= >= >=|}, process => \&parsedate ], |