Sophie

Sophie

distrib > Mandriva > 2008.0 > x86_64 > by-pkgid > 00bda0b1286e15da1f83e05f26416075 > files > 13

hplip-2.7.7-8.2mdv2008.0.src.rpm

diff -urNad hplip-2.7.7.dfsg.1~/hpssd.py hplip-2.7.7.dfsg.1/hpssd.py
--- hplip-2.7.7.dfsg.1~/hpssd.py	2007-10-04 12:45:29.000000000 -0700
+++ hplip-2.7.7.dfsg.1/hpssd.py	2007-10-04 12:46:39.000000000 -0700
@@ -53,7 +53,7 @@
 
 # Std Lib
 import sys, socket, os, os.path, signal, getopt, time, select
-import popen2, threading, tempfile
+import subprocess, threading, tempfile
 
 from errno import EALREADY, EINPROGRESS, EWOULDBLOCK, ECONNRESET, \
      ENOTCONN, ESHUTDOWN, EINTR, EISCONN
@@ -560,21 +560,23 @@
 
         if sendmail:
             sendmail = os.path.join(sendmail, 'sendmail')
-            sendmail += ' -t -r %s' % self.from_address
+            cmd = [sendmail,'-t','-r',self.from_address]
 
-            log.debug(sendmail)
-            std_out, std_in, std_err = popen2.popen3(sendmail) 
-            log.debug(repr(self.message))
-            std_in.write(self.message)
-            std_in.close()
+            log.debug(repr(cmd))
+            err = None
+            try:
+                sp = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+                std_out, std_err = sp.communicate(self.message)
+                log.debug(repr(self.message))
+                if std_err != '':
+                    err = std_err
 
-            r, w, e = select.select([std_err], [], [], 2.0)
+            except OSError, e:
+                err = str(e)
 
-            if r:
-                err = std_err.read()
-                if err:
-                    log.error(repr(err))
-                    self.result = ERROR_TEST_EMAIL_FAILED
+            if err:
+                log.error(repr(err))
+                self.result = ERROR_TEST_EMAIL_FAILED
 
         else:
             log.error("Mail send failed. sendmail not found.")
diff -urNad hplip-2.7.7.dfsg.1~/scan.py hplip-2.7.7.dfsg.1/scan.py
--- hplip-2.7.7.dfsg.1~/scan.py	2007-10-04 12:45:14.000000000 -0700
+++ hplip-2.7.7.dfsg.1/scan.py	2007-10-04 12:46:48.000000000 -0700
@@ -782,7 +782,7 @@
     from scan import sane
     import scanext
     import cStringIO
-    import popen2
+    import subprocess
 
     try:
         import Image
@@ -1139,26 +1139,21 @@
 
             if sendmail:
                 sendmail = os.path.join(sendmail, 'sendmail')
-                sendmail += ' -t -r %s' % email_from
-
-                log.debug(sendmail)
-                std_out, std_in, std_err = popen2.popen3(sendmail) 
-                std_in.write(msg.as_string())
-                std_in.close()
-
-                while True:
-                    update_spinner()
-                    r, w, e = select.select([std_err], [], [], 1.0)
-
-                    if r:
-                        break
+                cmd = [sendmail,'-t','-r',email_from]
 
+                log.debug(repr(cmd))
+                err = None
+                try:
+                    sp = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+                    std_out, std_err = sp.communicate(msg.as_string())
+                    if std_err != '':
+                        err = std_err
+                except OSError, e:
+                    err = str(e)
                 cleanup_spinner()
 
-                if r:
-                    err = std_err.read()
-                    if err:
-                        log.error(repr(err))
+                if err:
+                    log.error(repr(err))
 
             else:
                 log.error("Mail send failed. 'sendmail' not found.")