[455] in BarnOwl Developers

home help back first fref pref prev next nref lref last post

[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;
+}


home help back first fref pref prev next nref lref last post