]> iEval git - filters.git/commitdiff
* Added pirate filter. TODO: copyright, man page integration, makefile int
authorjoey <joey@a4a2c43b-8ac3-0310-8836-e0e880c912e2>
Fri, 26 Aug 2005 03:28:52 +0000 (03:28 +0000)
committerjoey <joey@a4a2c43b-8ac3-0310-8836-e0e880c912e2>
Fri, 26 Aug 2005 03:28:52 +0000 (03:28 +0000)
debian/changelog
pirate [new file with mode: 0755]

index 778f8ab5335be7ce6a4ca48d10c89ce7a981adcf..6941649d054fd0cb21e067a5fc468b9eb8db388c 100644 (file)
@@ -1,3 +1,9 @@
+filters (2.36) UNRELEASED; urgency=low
+
+  * Added pirate filter. TODO: copyright, man page integration, makefile int
+
+ -- Joey Hess <joeyh@debian.org>  Thu, 25 Aug 2005 23:28:25 -0400
+
 filters (2.35) unstable; urgency=low
 
   * Add nethackify filter. Closes: #317656
diff --git a/pirate b/pirate
new file mode 100755 (executable)
index 0000000..d35b138
--- /dev/null
+++ b/pirate
@@ -0,0 +1,123 @@
+#!/usr/bin/perl -p
+
+# an array, not a hash. because order is important
+@trans_table=(
+       '\bmy\b' => 'me',
+       '\bboss\b' => 'admiral',
+       '\bmanager\b' => 'admiral',
+       '\b[Cc]aptain\b' => "Cap'n",
+       '\bmyself\b' => 'meself',
+       '\byour\b' => 'yer',
+       '\byou\b' => 'ye',
+       '\bfriend\b' => 'matey',
+       '\bfriends\b' => 'maties',
+       '\bco[-]?worker\b' => 'shipmate',
+       '\bco[-]?workers\b' => 'shipmates',
+       '\bearlier\b' => 'afore',
+       '\bold\b' => 'auld',
+       '\bthe\b' => "th'",
+       '\bof\b' =>  "o'",
+       '\bdon\'t\b' => "dern't",
+       '\bdo not\b' => "dern't",
+       '\bnever\b' => "ne'er",
+       '\bever\b' => "e'er",
+       '\bover\b' => "o'er",
+       '\bYes\b' => 'Aye',
+       '\bNo\b' => 'Nay',
+       '\bdon\'t know\b' => "dinna",
+       '\bhadn\'t\b' => "ha'nae",
+       '\bdidn\'t\b' =>  "di'nae",
+       '\bwasn\'t\b' => "weren't",
+       '\bhaven\'t\b' => "ha'nae",
+       '\bfor\b' => 'fer',
+       '\bbetween\b' => 'betwixt',
+       '\baround\b' => "aroun'",
+       '\bto\b' => "t'",
+       '\bit\'s\b' => "'tis",
+       '\bwoman\b' => 'wench',
+       '\blady\b' => 'wench',
+       '\bwife\b' => 'lady',
+       '\bgirl\b' => 'lass',
+       '\bgirls\b' => 'lassies',
+       '\bguy\b' => 'lubber',
+       '\bman\b' => 'lubber',
+       '\bfellow\b' => 'lubber',
+       '\bdude\b' => 'lubber',
+       '\bboy\b' => 'lad',
+       '\bboys\b' => 'laddies',
+       '\bchildren\b' => 'minnows',
+       '\bkids\b' => 'minnows',
+       '\bhim\b' => 'that scurvey dog',
+       '\bher\b' => 'that comely wench',
+       '\bhim\.\b' => 'that drunken sailor',
+       '\bHe\b' => 'The ornery cuss',
+       '\bShe\b' => 'The winsome lass',
+       '\bhe\'s\b' => 'he be',
+       '\bshe\'s\b' => 'she be',
+       '\bwas\b' => "were bein'",
+       '\bHey\b' => 'Avast',
+       '\bher\.\b' => 'that lovely lass',
+       '\bfood\b' => 'chow',
+       '\broad\b' => 'sea',
+       '\broads\b' => 'seas',
+       '\bstreet\b' => 'river',
+       '\bstreets\b' => 'rivers',
+       '\bhighway\b' => 'ocean',
+       '\bhighways\b' => 'oceans',
+       '\bcar\b' => 'boat',
+       '\bcars\b' => 'boats',
+       '\btruck\b' => 'schooner',
+       '\btrucks\b' => 'schooners',
+       '\bSUV\b' => 'ship',
+       '\bmachine\b' => 'contraption',
+       '\bairplane\b' => 'flying machine',
+       '\bjet\b' => 'flying machine',
+       '\bdriving\b' => 'sailing',
+       '\bdrive\b' => 'sail',
+);
+
+while (@trans_table) {
+       $key=shift @trans_table;
+       $value=shift @trans_table;
+       s/$key/$value/g;
+}
+
+s/ing\b/in'/g;
+s/ings\b/in's/g;
+s/(\.[ \t])/avast($1,3)/eg;
+s/([!\?][ \t])/avast($1,2)/eg; # Greater chance after exclamation
+
+sub avast {
+       my $stub=shift;
+       my $chance=shift;
+
+       my @shouts=(
+               ", avast$stub",
+               "$stub Ahoy!",
+               ", and a bottle of rum!",
+               ", by Blackbeard's sword$stub",
+               ", by Davy Jones' locker$stub",
+               "$stub Walk the plank!",
+               "$stub Aarrr!",
+               "$stub Yaaarrrrr!",
+               ", pass the grog!",
+               ", and dinna spare the whip!",
+               ", with a chest full of booty$stub",
+               ", and a bucket o' chum$stub",
+               ", we'll keel-haul ye!",
+               "$stub Shiver me timbers!",
+               "$stub And hoist the mainsail!",
+               "$stub And swab the deck!",
+               ", ye scurvey dog$stub",
+               "$stub Fire the cannons!",
+               ", to be sure$stub",
+               ", I'll warrant ye$stub",
+       );
+
+       if (int rand($chance) == 1) {
+               return @shouts[rand @shouts]." ";
+       }
+       else {
+               return $stub;
+       }
+}
This page took 0.023487 seconds and 4 git commands to generate.