From e614a2f4a49db0af1cdc9e58fd86fe47c4598096 Mon Sep 17 00:00:00 2001 From: Steven Hiscocks Date: Mon, 20 Jan 2014 22:46:17 +0000 Subject: [PATCH] BF: Resolve Deprecation Warnings for python3 Mainly python imp -> importlib for python3.3+, and other minor tweaks --- fail2ban/client/jailreader.py | 2 +- fail2ban/server/actions.py | 14 +++++++++++--- fail2ban/server/datetemplate.py | 2 +- fail2ban/server/filter.py | 2 +- fail2ban/tests/databasetestcase.py | 6 +++--- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/fail2ban/client/jailreader.py b/fail2ban/client/jailreader.py index 8425ea5a..7bdb11d2 100644 --- a/fail2ban/client/jailreader.py +++ b/fail2ban/client/jailreader.py @@ -118,7 +118,7 @@ class JailReader(ConfigReader): return False else: self.__filter = None - logSys.warn("No filter set for jail %s" % self.__name) + logSys.warning("No filter set for jail %s" % self.__name) # Read action for act in self.__opts["action"].split('\n'): diff --git a/fail2ban/server/actions.py b/fail2ban/server/actions.py index 2426747d..5c46205c 100644 --- a/fail2ban/server/actions.py +++ b/fail2ban/server/actions.py @@ -26,7 +26,11 @@ __license__ = "GPL" import time, logging import os -import imp +import sys +if sys.version_info >= (3, 3): + import importlib +else: + import imp from collections import Mapping from .banmanager import BanManager @@ -95,8 +99,12 @@ class Actions(JailThread, Mapping): action = CommandAction(self._jail, name) else: pythonModuleName = os.path.basename(pythonModule.strip(".py")) - customActionModule = imp.load_source( - pythonModuleName, pythonModule) + if sys.version_info >= (3, 3): + customActionModule = importlib.machinery.SourceFileLoader( + pythonModuleName, pythonModule).load_module() + else: + customActionModule = imp.load_source( + pythonModuleName, pythonModule) if not hasattr(customActionModule, "Action"): raise RuntimeError( "%s module does not have 'Action' class" % pythonModule) diff --git a/fail2ban/server/datetemplate.py b/fail2ban/server/datetemplate.py index 729b951c..5ee79f34 100644 --- a/fail2ban/server/datetemplate.py +++ b/fail2ban/server/datetemplate.py @@ -187,7 +187,7 @@ class DateStrptime(DateTemplate): date += delta date = date.replace(tzinfo=iso8601.Utc()) else: - logSys.warn("No _z group captured and %%z is not supported on current platform" + logSys.warning("No _z group captured and %%z is not supported on current platform" " - timezone ignored and assumed to be localtime. date: %s on line: %s" % (date, line)) diff --git a/fail2ban/server/filter.py b/fail2ban/server/filter.py index b4d214d1..69983f59 100644 --- a/fail2ban/server/filter.py +++ b/fail2ban/server/filter.py @@ -849,7 +849,7 @@ class DNSUtils: try: return set(socket.gethostbyname_ex(dns)[2]) except socket.error, e: - logSys.warn("Unable to find a corresponding IP address for %s: %s" + logSys.warning("Unable to find a corresponding IP address for %s: %s" % (dns, e)) return list() except socket.error, e: diff --git a/fail2ban/tests/databasetestcase.py b/fail2ban/tests/databasetestcase.py index 577f732f..de2e3377 100644 --- a/fail2ban/tests/databasetestcase.py +++ b/fail2ban/tests/databasetestcase.py @@ -138,7 +138,7 @@ class DatabaseTest(unittest.TestCase): ticket = FailTicket("127.0.0.1", 0, ["abc\n"]) self.db.addBan(self.jail, ticket) - self.assertEquals(len(self.db.getBans(jail=self.jail)), 1) + self.assertEqual(len(self.db.getBans(jail=self.jail)), 1) self.assertTrue( isinstance(self.db.getBans(jail=self.jail)[0], FailTicket)) @@ -146,8 +146,8 @@ class DatabaseTest(unittest.TestCase): self.testAddJail() ticket = FailTicket("127.0.0.1", MyTime.time() - 40, ["abc\n"]) self.db.addBan(self.jail, ticket) - self.assertEquals(len(self.db.getBans(jail=self.jail,bantime=50)), 1) - self.assertEquals(len(self.db.getBans(jail=self.jail,bantime=20)), 0) + self.assertEqual(len(self.db.getBans(jail=self.jail,bantime=50)), 1) + self.assertEqual(len(self.db.getBans(jail=self.jail,bantime=20)), 0) def testGetBansMerged(self): self.testAddJail()