X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?a=blobdiff_plain;f=yarrg%2Fweb%2Fcheck_distance;fp=yarrg%2Fweb%2Fcheck_distance;h=223cc5a8f99509ab07ad226abbed2a127e1e7c3c;hb=f2f25e1201a92e62c3eeb35cdec0a62539e18cb5;hp=0000000000000000000000000000000000000000;hpb=5df1a21a8f7ad18ade3a97b9ccf26bdcf335edd2;p=ypp-sc-tools.web-live.git diff --git a/yarrg/web/check_distance b/yarrg/web/check_distance new file mode 100644 index 0000000..223cc5a --- /dev/null +++ b/yarrg/web/check_distance @@ -0,0 +1,68 @@ +<%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 simply defines how to interpret distances. + + + +<%attr> +significant_nonempty => 1 + + +<%method execute> +<%args> +$string +$dbh +$debugf + + +<%perl> + +$_= $string; +s/^\s+//; s/\s+$//; + +my $leagues; +my $canon; + +if (!m/\S/) { + $leagues= 20; + $canon= '(default: 20 leagues)'; +} elsif (m/^([1-9]\d*)( leagues)?$/i) { + $leagues= $1; + $canon= "$leagues leagues"; +} else { + expected_error("Cannot understand distance \`$_'."); +} + +return ($canon,$leagues); + + +