commit-womb
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-womb] gnumaint Makefile gnumaint testaddr+real.msg te...


From: Karl Berry
Subject: [Commit-womb] gnumaint Makefile gnumaint testaddr+real.msg te...
Date: Sat, 17 Feb 2007 01:41:03 +0000

CVSROOT:        /sources/womb
Module name:    gnumaint
Changes by:     Karl Berry <karl>       07/02/17 01:41:03

Modified files:
        .              : Makefile gnumaint 
Added files:
        .              : testaddr+real.msg testaddrangle.msg 
                         testaddrcomment.msg 

Log message:
        extract email from various From: formats

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnumaint/Makefile?cvsroot=womb&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/gnumaint/gnumaint?cvsroot=womb&r1=1.26&r2=1.27
http://cvs.savannah.gnu.org/viewcvs/gnumaint/testaddr%43real.msg?cvsroot=womb&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/gnumaint/testaddrangle.msg?cvsroot=womb&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/gnumaint/testaddrcomment.msg?cvsroot=womb&rev=1.1

Patches:
Index: Makefile
===================================================================
RCS file: /sources/womb/gnumaint/Makefile,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- Makefile    13 Feb 2007 19:50:49 -0000      1.7
+++ Makefile    17 Feb 2007 01:41:03 -0000      1.8
@@ -7,7 +7,10 @@
 test-rece:
 #      gnumaint recemail </etc/issue
 #      gnumaint recemail <testjunk1.msg
-       gnumaint recemail <testgood1.msg
+#      gnumaint recemail <testgood1.msg
+#      gnumaint recemail <testaddr+real.msg
+#      gnumaint recemail <testaddrangle.msg
+       gnumaint recemail <testaddrcomment.msg
 
 sep = 2>&1 | dos2unix; true ------------------------------
 

Index: gnumaint
===================================================================
RCS file: /sources/womb/gnumaint/gnumaint,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- gnumaint    13 Feb 2007 19:50:49 -0000      1.26
+++ gnumaint    17 Feb 2007 01:41:03 -0000      1.27
@@ -1,5 +1,6 @@
 #!/usr/bin/env tclsh
 # gnumaint - GNU maintainers file maintenance (/gd/gnuorg/maintainers)
+# $Id: gnumaint,v 1.27 2007/02/17 01:41:03 karl Exp $
 #
 # Copyright 2007 Free Software Foundation Inc.
 # 
@@ -90,11 +91,9 @@
 }
 
 proc do_help_recemail {} {
-  puts "gnumaint recemail - receive an email from a maintainer"
-  puts "Usage:"
-  puts ""
-  puts "  gnumaint recemail"
+  puts "Usage: gnumaint recemail"
   puts ""
+  puts "Receive email.  This is invoked via /com/mailer/aliases."
 }
 
 proc do_help_operation {topic} {
@@ -261,7 +260,6 @@
   ;# Get data fields from the received email
   set from [exec $formail -c -xFrom: << $email_contents]
   set subject [exec $formail -c -xSubject << $email_contents]
-  set reply_to [exec $formail -c -xReply-To << $email_contents]
   set body [exec $formail -I \"\" << $email_contents]
 
   ;# Infer the nature of the email from the subject content
@@ -274,7 +272,26 @@
           ;# Get the maintainer email
           set maintainer_email [string trim $from]
 
-          ;# Make sure this maintainer exist on the dabase
+          ;# We need to extract the email address from a From: line in
+          ;# any of several formats:
+          ;#   address@hidden
+          ;#   <address@hidden>
+          ;#   J User <address@hidden>
+          ;#   address@hidden (J User)
+          ;# We don't attempt to do this perfectly.
+          ;#
+          if { [regexp {^[^ ]*$} $from] } then {
+            set maintainer_email $from  ;# no spaces, take the whole thing
+          } elseif { [regexp {<([^>]+)>} $from "" maintainer_email] } then {
+            ;# take whatever is inside <...>
+          } elseif { [regsub {\(.*\)}  $from "" maintainer_email] } then {
+            ;# (Real Name) removed, now remove space.  regsub won't do it.
+            set maintainer_email [string trim $maintainer_email]
+          } else {
+            puts "could not find email in $from"
+          }
+
+          ;# See if this maintainer is in the database
           set maintainer_found false
           foreach maintainer $maintainersdb {
               if {[lindex $maintainer 1] == $maintainer_email} then {
@@ -283,13 +300,13 @@
           }
           if {!$maintainer_found} then {
               ;# Maintainer not found => discard email
-              add_to_log "discarded mail from unknown maintainer 
$maintainer_email"
+              add_to_log "discarded msg from unknown maintainer $from"
               discard_email $email_contents
               return
           }
 
           ;# Log the operation
-          add_to_log "received activity reply from $maintainer_email"
+          add_to_log "received activity reply from $from"
           archive_email $email_contents
 
           ;# Annotate this packages into the activity file

Index: testaddr+real.msg
===================================================================
RCS file: testaddr+real.msg
diff -N testaddr+real.msg
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ testaddr+real.msg   17 Feb 2007 01:41:03 -0000      1.1
@@ -0,0 +1,14 @@
+From address@hidden Sun Feb 11 14:48:08 2007
+Return-path: <address@hidden>
+Envelope-to: address@hidden
+Delivery-date: Sun, 11 Feb 2007 14:48:08 -0500
+Received: from karl by fencepost.gnu.org with local (Exim 4.60)
+       (envelope-from <address@hidden>)
+       id 1HGKgC-0000P9-M8
+       for address@hidden; Sun, 11 Feb 2007 14:48:08 -0500
+To: address@hidden
+Message-Id: <address@hidden>
+From: Karl Berry <address@hidden>
+Date: Sun, 11 Feb 2007 14:48:08 -0500
+Subject: GNU package maintenance
+

Index: testaddrangle.msg
===================================================================
RCS file: testaddrangle.msg
diff -N testaddrangle.msg
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ testaddrangle.msg   17 Feb 2007 01:41:03 -0000      1.1
@@ -0,0 +1,14 @@
+From address@hidden Sun Feb 11 14:48:08 2007
+Return-path: <address@hidden>
+Envelope-to: address@hidden
+Delivery-date: Sun, 11 Feb 2007 14:48:08 -0500
+Received: from karl by fencepost.gnu.org with local (Exim 4.60)
+       (envelope-from <address@hidden>)
+       id 1HGKgC-0000P9-M8
+       for address@hidden; Sun, 11 Feb 2007 14:48:08 -0500
+To: address@hidden
+Message-Id: <address@hidden>
+From: <address@hidden>
+Date: Sun, 11 Feb 2007 14:48:08 -0500
+Subject: GNU package maintenance
+

Index: testaddrcomment.msg
===================================================================
RCS file: testaddrcomment.msg
diff -N testaddrcomment.msg
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ testaddrcomment.msg 17 Feb 2007 01:41:03 -0000      1.1
@@ -0,0 +1,14 @@
+From address@hidden Sun Feb 11 14:48:08 2007
+Return-path: <address@hidden>
+Envelope-to: address@hidden
+Delivery-date: Sun, 11 Feb 2007 14:48:08 -0500
+Received: from karl by fencepost.gnu.org with local (Exim 4.60)
+       (envelope-from <address@hidden>)
+       id 1HGKgC-0000P9-M8
+       for address@hidden; Sun, 11 Feb 2007 14:48:08 -0500
+To: address@hidden
+Message-Id: <address@hidden>
+From: address@hidden (Karl Berry)
+Date: Sun, 11 Feb 2007 14:48:08 -0500
+Subject: GNU package maintenance
+




reply via email to

[Prev in Thread] Current Thread [Next in Thread]