[Libreoffice-commits] .: Branch 'libreoffice-4-0' - scripting/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Mon Jan 14 10:54:59 PST 2013


 scripting/source/pyprov/mailmerge.py |   25 +++++++++++++++++--------
 1 file changed, 17 insertions(+), 8 deletions(-)

New commits:
commit e523186e59632ef824eb3262edd0c63e388af6e8
Author: Michael Stahl <mstahl at redhat.com>
Date:   Mon Jan 14 12:37:29 2013 +0100

    fdo#59249: mailmerge.py: adapt to changes in smtplib:
    
    Apparently the login() method in Python 3.3 expects str arguments for
    user and password, since it calls encode on them, but for Python 2.6 the
    "encode" calls were explicitly added in the caller since login() does
    not encode itself; add an ugly version check for that.
    
    Change-Id: Iebfce44073a837e9cb845855ba448d5b6a2ebd11
    (cherry picked from commit 1a5b3d8e4d88aa27647cc7b99623dd6f6e706bbc)
    Reviewed-on: https://gerrit.libreoffice.org/1669
    Reviewed-by: Noel Power <noel.power at suse.com>
    Tested-by: Noel Power <noel.power at suse.com>

diff --git a/scripting/source/pyprov/mailmerge.py b/scripting/source/pyprov/mailmerge.py
index d76322e..c606143 100755
--- a/scripting/source/pyprov/mailmerge.py
+++ b/scripting/source/pyprov/mailmerge.py
@@ -99,9 +99,12 @@ class PyMailSMTPService(unohelper.Base, XSmtpService):
 			self.server.starttls()
 			self.server.ehlo()
 
-		user = xAuthenticator.getUserName().encode('ascii')
-		password = xAuthenticator.getPassword().encode('ascii')
-		if user != b'':
+		user = xAuthenticator.getUserName()
+		password = xAuthenticator.getPassword()
+		if user != '':
+			if sys.version < '3': # fdo#59249 i#105669 Python 2 needs "ascii"
+				user = user.encode('ascii')
+				password = password.encode('ascii')
 			if dbg:
 				print("Logging in, username of" + user, file=dbgout)
 			self.server.login(user, password)
@@ -279,9 +282,12 @@ class PyMailIMAPService(unohelper.Base, XMailService):
 			self.server = imaplib.IMAP4(server, port)
 		print("AFTER", file=dbgout)
 			
-		user = xAuthenticator.getUserName().encode('ascii')
-		password = xAuthenticator.getPassword().encode('ascii')
-		if user != b'':
+		user = xAuthenticator.getUserName()
+		password = xAuthenticator.getPassword()
+		if user != '':
+			if sys.version < '3': # fdo#59249 i#105669 Python 2 needs "ascii"
+				user = user.encode('ascii')
+				password = password.encode('ascii')
 			if dbg:
 				print("Logging in, username of" + user, file=dbgout)
 			self.server.login(user, password)
@@ -348,8 +354,11 @@ class PyMailPOP3Service(unohelper.Base, XMailService):
 			self.server = poplib.POP3(server, port)
 		print("AFTER", file=dbgout)
 			
-		user = xAuthenticator.getUserName().encode('ascii')
-		password = xAuthenticator.getPassword().encode('ascii')
+		user = xAuthenticator.getUserName()
+		password = xAuthenticator.getPassword()
+		if sys.version < '3': # fdo#59249 i#105669 Python 2 needs "ascii"
+			user = user.encode('ascii')
+			password = password.encode('ascii')
 		if dbg:
 			print("Logging in, username of" + user, file=dbgout)
 		self.server.user(user)


More information about the Libreoffice-commits mailing list