X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?a=blobdiff_plain;ds=sidebyside;f=yarrg%2Fweb%2Froutetextstring;h=be009d4e5a4b8fa624a5f809a079a432d0b1da2f;hb=013f7a0ab3bf8d2b1100022e8fc868407c751720;hp=a9a0de83d4bea26c2054b3256c9f5a3632a208c8;hpb=31e88e03ff6e24e5c744b7f3f02346221ae5bab0;p=ypp-sc-tools.db-live.git diff --git a/yarrg/web/routetextstring b/yarrg/web/routetextstring old mode 100644 new mode 100755 index a9a0de8..be009d4 --- a/yarrg/web/routetextstring +++ b/yarrg/web/routetextstring @@ -1,41 +1,51 @@ -%# This is part of the YARRG website. YARRG is a tool and website -%# for assisting players of Yohoho Puzzle Pirates. -%# -%# Copyright (C) 2009 Ian Jackson -%# Copyright (C) 2009 Clare Boothby -%# -%# YARRG's client code etc. is covered by the ordinary GNU GPL (v3 or later). -%# The YARRG website is covered by the GNU Affero GPL v3 or later, which -%# basically means that every installation of the website will let you -%# download the source. -%# -%# This program is free software: you can redistribute it and/or modify -%# it under the terms of the GNU Affero General Public License as -%# published by the Free Software Foundation, either version 3 of the -%# License, or (at your option) any later version. -%# -%# This program is distributed in the hope that it will be useful, -%# but WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -%# GNU Affero General Public License for more details. -%# -%# You should have received a copy of the GNU Affero General Public License -%# along with this program. If not, see . -%# -%# Yohoho and Puzzle Pirates are probably trademarks of Three Rings and -%# are used without permission. This program is not endorsed or -%# sponsored by Three Rings. -%# -%# -%# This Mason component parses textual strings giving lists of islands -%# and archipelagoes, ie textual route strings. -%# +<%doc> + + This is part of the YARRG website. YARRG is a tool and website + for assisting players of Yohoho Puzzle Pirates. + + Copyright (C) 2009 Ian Jackson + Copyright (C) 2009 Clare Boothby + + YARRG's client code etc. is covered by the ordinary GNU GPL (v3 or later). + The YARRG website is covered by the GNU Affero GPL v3 or later, which + basically means that every installation of the website will let you + download the source. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + + Yohoho and Puzzle Pirates are probably trademarks of Three Rings and + are used without permission. This program is not endorsed or + sponsored by Three Rings. + + + This Mason component parses textual strings giving lists of islands + and archipelagoes, ie textual route strings. + + + + +<%flags> +inherit => undef + + <%args> $ocean $format $ctype => undef $string + <%perl> # typical url for this script: @@ -59,12 +69,12 @@ my ($output, $output_wrong); if ($format =~ /json/) { $r->content_type($ctype or $format); - $output= sub { print to_json({ + $output= sub { print to_json_shim({ success => 1, show => length $canontext ? encode_entities($canontext) : ' ', })}; - $output_wrong= sub { print to_json({ + $output_wrong= sub { print to_json_shim({ success => 0, show => $_[0], })}; @@ -98,7 +108,7 @@ foreach my $each (split m#[/|,]#, $string) { if (!$results) { if (!%m) { return $err->('no island or arch matches "%s"'); - } elsif (%m > 5) { + } elsif (keys(%m) > 5) { return $err->(' '); } else { return $err->('ambiguous island or arch "%s",'.