--- Products/SecureMailHost/SecureMailHost.py.orig 2009-09-05 08:33:50 UTC +++ Products/SecureMailHost/SecureMailHost.py @@ -16,7 +16,7 @@ $Id: SecureMailHost.py 96773 2009-09-05 14:33:50Z hannosch $ """ -from config import BAD_HEADERS +from .config import BAD_HEADERS from copy import deepcopy import email.Message @@ -201,10 +201,10 @@ class SecureMailBase(MailBase): if addr: result = self.validateEmailAddresses(addr) if not result: - raise MailHostError, 'Invalid email address: %s' % addr + raise MailHostError('Invalid email address: %s' % addr) result = self.validateSingleEmailAddress(mfrom) if not result: - raise MailHostError, 'Invalid email address: %s' % mfrom + raise MailHostError('Invalid email address: %s' % mfrom) # create message if isinstance(message, email.Message.Message): @@ -212,7 +212,7 @@ class SecureMailBase(MailBase): # change the message msg = deepcopy(message) else: - if isinstance(message, unicode): + if isinstance(message, str): message = message.encode(charset) msg = email.MIMEText.MIMEText(message, subtype, charset) @@ -228,7 +228,7 @@ class SecureMailBase(MailBase): for bad in BAD_HEADERS: if bad in kwargs: - raise MailHostError, 'Header %s is forbidden' % bad + raise MailHostError('Header %s is forbidden' % bad) self.setHeaderOf(msg, **kwargs) # we have to pass *all* recipient email addresses to the @@ -251,7 +251,7 @@ class SecureMailBase(MailBase): All occurences of the key are deleted first! """ - for key, val in kwargs.items(): + for key, val in list(kwargs.items()): del msg[key] # save - email.Message won't raise a KeyError if skipEmpty and not val: continue @@ -293,7 +293,7 @@ class SecureMailBase(MailBase): # stage 2: get a list of address strings using email.formataddr addresses = [] for addr in addr_list: - if isinstance(addr, basestring): + if isinstance(addr, str): addresses.append(email.Utils.formataddr(('', addr))) else: if len(addr) != 2: @@ -311,7 +311,7 @@ class SecureMailBase(MailBase): """Lower-level function to validate a single normalized email address, see validateEmailAddress """ - if not isinstance(address, basestring): + if not isinstance(address, str): return False sub = EMAIL_CUTOFF_RE.match(address); @@ -329,7 +329,7 @@ class SecureMailBase(MailBase): def validateSingleEmailAddress(self, address): """Validate a single email address, see also validateEmailAddresses """ - if not isinstance(address, basestring): + if not isinstance(address, str): return False sub = EMAIL_CUTOFF_RE.match(address); @@ -353,7 +353,7 @@ class SecureMailBase(MailBase): """Validate a list of possibly several email addresses, see also validateSingleEmailAddress """ - if not isinstance(addresses, basestring): + if not isinstance(addresses, str): return False sub = EMAIL_CUTOFF_RE.match(addresses); --- Products/SecureMailHost/tests/common.py.orig 2004-07-18 15:21:52 UTC +++ Products/SecureMailHost/tests/common.py @@ -2,12 +2,6 @@ from Testing import ZopeTestCase from Products.SecureMailHost.SecureMailHost import SecureMailBase -try: - True -except NameError: - True=1 - False=0 - ZopeTestCase.installProduct('MailHost', quiet=1) ZopeTestCase.installProduct('PageTemplates', quiet=1) ZopeTestCase.installProduct('PythonScripts', quiet=1) --- Products/SecureMailHost/tests/framework.py.orig 2004-05-16 01:36:28 UTC +++ Products/SecureMailHost/tests/framework.py @@ -52,7 +52,7 @@ if __INSTANCE_HOME.endswith(os.sep): # Find and import the Testing package # -if not sys.modules.has_key('Testing'): +if 'Testing' not in sys.modules: p0 = sys.path[0] if p0 and __name__ == '__main__': os.chdir(p0) @@ -66,12 +66,12 @@ if not sys.modules.has_key('Testing'): break p, d = s and ('','') or os.path.split(p) else: - print 'Unable to locate Testing package.', - print 'You might need to set SOFTWARE_HOME.' + print('Unable to locate Testing package.', end=' ') + print('You might need to set SOFTWARE_HOME.') sys.exit(1) import Testing, unittest -execfile(os.path.join(os.path.dirname(Testing.__file__), 'common.py')) +exec(compile(open(os.path.join(os.path.dirname(Testing.__file__), 'common.py'), "rb").read(), os.path.join(os.path.dirname(Testing.__file__), 'common.py'), 'exec')) # Include ZopeTestCase support # @@ -80,8 +80,8 @@ if 1: # Create a new scope p = os.path.join(os.path.dirname(Testing.__file__), 'ZopeTestCase') if not os.path.isdir(p): - print 'Unable to locate ZopeTestCase package.', - print 'You might need to install ZopeTestCase.' + print('Unable to locate ZopeTestCase package.', end=' ') + print('You might need to install ZopeTestCase.') sys.exit(1) ztc_common = 'ztc_common.py' @@ -89,19 +89,19 @@ if 1: # Create a new scope f = 0 if os.path.exists(ztc_common_global): - execfile(ztc_common_global) + exec(compile(open(ztc_common_global, "rb").read(), ztc_common_global, 'exec')) f = 1 if os.path.exists(ztc_common): - execfile(ztc_common) + exec(compile(open(ztc_common, "rb").read(), ztc_common, 'exec')) f = 1 if not f: - print 'Unable to locate %s.' % ztc_common + print('Unable to locate %s.' % ztc_common) sys.exit(1) # Debug # -print 'SOFTWARE_HOME: %s' % os.environ.get('SOFTWARE_HOME', 'Not set') -print 'INSTANCE_HOME: %s' % os.environ.get('INSTANCE_HOME', 'Not set') +print('SOFTWARE_HOME: %s' % os.environ.get('SOFTWARE_HOME', 'Not set')) +print('INSTANCE_HOME: %s' % os.environ.get('INSTANCE_HOME', 'Not set')) sys.stdout.flush()