[455] in BarnOwl Developers
[D-O-H] r584 - trunk/conf.asedeno/owl/modules
daemon@ATHENA.MIT.EDU (asedeno@MIT.EDU)
Thu Oct 29 18:06:21 2009
Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
To: dirty-owl-hackers@mit.edu
From: asedeno@MIT.EDU
Reply-to: dirty-owl-hackers@MIT.EDU
Date: Mon, 5 Feb 2007 19:48:07 -0500 (EST)
Author: asedeno
Date: 2007-02-05 19:48:06 -0500 (Mon, 05 Feb 2007)
New Revision: 584
Added:
trunk/conf.asedeno/owl/modules/RawDump.pl
Log:
At hartmans's request, a way to dump message contents.
Added: trunk/conf.asedeno/owl/modules/RawDump.pl
===================================================================
--- trunk/conf.asedeno/owl/modules/RawDump.pl (rev 0)
+++ trunk/conf.asedeno/owl/modules/RawDump.pl 2007-02-06 00:48:06 UTC (rev 584)
@@ -0,0 +1,66 @@
+# -*- mode: cperl; cperl-indent-level: 4; indent-tabs-mode: nil -*-
+# ReplyLockout module.
+package BarnOwl::ARS_RawDump;
+
+################################################################################
+#Run this on start and reload.
+################################################################################
+sub onStart {
+ register_owl_commands();
+}
+
+push @::onStartSubs, sub { BarnOwl::ARS_RawDump::onStart(@_) };
+
+sub register_owl_commands() {
+ BarnOwl::new_command(
+ raw => \&cmd_dump,
+ { summary => "", },
+ { usage => "raw [FILENAME]" }
+ );
+}
+
+sub cmd_dump {
+ my $cmd = shift;
+ my $filename = (@_ ? shift : '');
+
+ my $m = BarnOwl::getcurmsg();
+ my $str = '';
+ foreach my $key (sort keys %{ $m }) {
+ if ($key eq 'fields' && $m->is_zephyr) {
+ $str .= "fields:\n";
+ my $i = 0;
+ foreach my $f (@{ $m->{fields} }) {
+ $str .= " ".$i++.": ".$f."\n";
+ }
+ }
+ else {
+ $str .= $key.': '.$m->{"$key"}."\n";
+ }
+ }
+ if ($filename) {
+ dump_to_file($filename, $str);
+ }
+ else {
+ queue_admin_msg($str);
+ }
+ BarnOwl::message(""); # Kludge to make a '1' go away
+}
+
+sub queue_admin_msg {
+ my $err = shift;
+ my $m = BarnOwl::Message->new(
+ type => 'admin',
+ direction => 'none',
+ body => $err
+ );
+ BarnOwl::queue_message($m);
+}
+
+sub dump_to_file
+{
+ my $filename = shift;
+ my $contents = shift;
+ open(FILE,">$filename");
+ print FILE $contents;
+ close FILE;
+}