Merge ~cjwatson/lazr.sshserver:pyupgrade into lazr.sshserver:main

Proposed by Colin Watson
Status: Merged
Merged at revision: 15d3b420dc7e4e34241d71f171a3f56097b23bc0
Proposed branch: ~cjwatson/lazr.sshserver:pyupgrade
Merge into: lazr.sshserver:main
Diff against target: 323 lines (+20/-53)
14 files modified
.pre-commit-config.yaml (+4/-0)
src/lazr/sshserver/__init__.py (+0/-1)
src/lazr/sshserver/accesslog.py (+0/-3)
src/lazr/sshserver/auth.py (+1/-4)
src/lazr/sshserver/events.py (+0/-3)
src/lazr/sshserver/service.py (+1/-4)
src/lazr/sshserver/session.py (+1/-4)
src/lazr/sshserver/sftp.py (+1/-6)
src/lazr/sshserver/tests/__init__.py (+0/-1)
src/lazr/sshserver/tests/test_accesslog.py (+2/-6)
src/lazr/sshserver/tests/test_auth.py (+7/-11)
src/lazr/sshserver/tests/test_events.py (+1/-5)
src/lazr/sshserver/tests/test_session.py (+1/-5)
tox.ini (+1/-0)
Reviewer Review Type Date Requested Status
Jürgen Gmach Approve
Review via email: mp+437443@code.launchpad.net

Commit message

Run pyupgrade

To post a comment you must log in.
Revision history for this message
Jürgen Gmach (jugmac00) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 0837591..76be99b 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -14,6 +14,10 @@ repos:
14 - id: debug-statements14 - id: debug-statements
15 - id: end-of-file-fixer15 - id: end-of-file-fixer
16 - id: trailing-whitespace16 - id: trailing-whitespace
17- repo: https://github.com/asottile/pyupgrade
18 rev: v3.3.1
19 hooks:
20 - id: pyupgrade
17- repo: https://github.com/psf/black21- repo: https://github.com/psf/black
18 rev: 22.12.022 rev: 22.12.0
19 hooks:23 hooks:
diff --git a/src/lazr/sshserver/__init__.py b/src/lazr/sshserver/__init__.py
index f688203..a8bf348 100644
--- a/src/lazr/sshserver/__init__.py
+++ b/src/lazr/sshserver/__init__.py
@@ -16,7 +16,6 @@
1616
17"The lazr.sshserver package."17"The lazr.sshserver package."
1818
19__metaclass__ = type
20__all__ = []19__all__ = []
2120
22try:21try:
diff --git a/src/lazr/sshserver/accesslog.py b/src/lazr/sshserver/accesslog.py
index c18c7a9..b4f04be 100644
--- a/src/lazr/sshserver/accesslog.py
+++ b/src/lazr/sshserver/accesslog.py
@@ -3,9 +3,6 @@
33
4"""Logging for the SSH server."""4"""Logging for the SSH server."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type
9__all__ = [6__all__ = [
10 "LoggingManager",7 "LoggingManager",
11]8]
diff --git a/src/lazr/sshserver/auth.py b/src/lazr/sshserver/auth.py
index 8bfc634..84aabac 100644
--- a/src/lazr/sshserver/auth.py
+++ b/src/lazr/sshserver/auth.py
@@ -9,9 +9,6 @@ Launchpad's SSH server authenticates users against a XML-RPC service (see
9case of failed authentication (see `SSHUserAuthServer`).9case of failed authentication (see `SSHUserAuthServer`).
10"""10"""
1111
12from __future__ import absolute_import, print_function
13
14__metaclass__ = type
15__all__ = [12__all__ = [
16 "LaunchpadAvatar",13 "LaunchpadAvatar",
17 "PublicKeyFromLaunchpadChecker",14 "PublicKeyFromLaunchpadChecker",
@@ -53,7 +50,7 @@ class NoSuchPersonWithName(xmlrpc.Fault):
53 msg_template = "No such person or team: %(person_name)s"50 msg_template = "No such person or team: %(person_name)s"
5451
55 def __init__(self, person_name):52 def __init__(self, person_name):
56 super(NoSuchPersonWithName, self).__init__(53 super().__init__(
57 self.error_code, self.msg_template % {"person_name": person_name}54 self.error_code, self.msg_template % {"person_name": person_name}
58 )55 )
5956
diff --git a/src/lazr/sshserver/events.py b/src/lazr/sshserver/events.py
index 5d0165b..c58d59a 100644
--- a/src/lazr/sshserver/events.py
+++ b/src/lazr/sshserver/events.py
@@ -3,9 +3,6 @@
33
4"""Events generated by the SSH server."""4"""Events generated by the SSH server."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type
9__all__ = [6__all__ = [
10 "AuthenticationFailed",7 "AuthenticationFailed",
11 "AvatarEvent",8 "AvatarEvent",
diff --git a/src/lazr/sshserver/service.py b/src/lazr/sshserver/service.py
index 2d0622f..f9a8960 100644
--- a/src/lazr/sshserver/service.py
+++ b/src/lazr/sshserver/service.py
@@ -6,9 +6,6 @@
6An `SSHService` object can be used to launch the SSH server.6An `SSHService` object can be used to launch the SSH server.
7"""7"""
88
9from __future__ import absolute_import, print_function
10
11__metaclass__ = type
12__all__ = [9__all__ = [
13 "SSHService",10 "SSHService",
14]11]
@@ -148,7 +145,7 @@ class Factory(SSHFactory):
148 try:145 try:
149 if self._moduli_path is not None:146 if self._moduli_path is not None:
150 return primes.parseModuliFile(self._moduli_path)147 return primes.parseModuliFile(self._moduli_path)
151 except IOError:148 except OSError:
152 pass149 pass
153 return None150 return None
154151
diff --git a/src/lazr/sshserver/session.py b/src/lazr/sshserver/session.py
index cdeefc3..3168895 100644
--- a/src/lazr/sshserver/session.py
+++ b/src/lazr/sshserver/session.py
@@ -3,9 +3,6 @@
33
4"""Patched SSH session for the Launchpad server."""4"""Patched SSH session for the Launchpad server."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type
9__all__ = [6__all__ = [
10 "DoNothingSession",7 "DoNothingSession",
11 "PatchedSSHSession",8 "PatchedSSHSession",
@@ -16,7 +13,7 @@ from twisted.conch.ssh import channel, connection, session
16from zope.interface import implementer13from zope.interface import implementer
1714
1815
19class PatchedSSHSession(session.SSHSession, object):16class PatchedSSHSession(session.SSHSession):
20 """Session adapter that corrects bugs in Conch.17 """Session adapter that corrects bugs in Conch.
2118
22 This object provides no custom logic for Launchpad, it just addresses some19 This object provides no custom logic for Launchpad, it just addresses some
diff --git a/src/lazr/sshserver/sftp.py b/src/lazr/sshserver/sftp.py
index 1335ce8..3fa6026 100644
--- a/src/lazr/sshserver/sftp.py
+++ b/src/lazr/sshserver/sftp.py
@@ -3,9 +3,6 @@
33
4"""Generic SFTP server functionality."""4"""Generic SFTP server functionality."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type
9__all__ = [6__all__ = [
10 "FileIsADirectory",7 "FileIsADirectory",
11 "FileTransferServer",8 "FileTransferServer",
@@ -25,9 +22,7 @@ class FileIsADirectory(Exception):
2522
26 def __init__(self, path, extra=None):23 def __init__(self, path, extra=None):
27 self.path = path24 self.path = path
28 super(FileIsADirectory, self).__init__(25 super().__init__("File is a directory: %r" % path)
29 "File is a directory: %r" % path
30 )
3126
3227
33class FileTransferServer(filetransfer.FileTransferServer):28class FileTransferServer(filetransfer.FileTransferServer):
diff --git a/src/lazr/sshserver/tests/__init__.py b/src/lazr/sshserver/tests/__init__.py
index fde15ac..126b89a 100644
--- a/src/lazr/sshserver/tests/__init__.py
+++ b/src/lazr/sshserver/tests/__init__.py
@@ -16,5 +16,4 @@
1616
17"The lazr.sshserver tests."17"The lazr.sshserver tests."
1818
19__metaclass__ = type
20__all__ = []19__all__ = []
diff --git a/src/lazr/sshserver/tests/test_accesslog.py b/src/lazr/sshserver/tests/test_accesslog.py
index f855def..d921345 100644
--- a/src/lazr/sshserver/tests/test_accesslog.py
+++ b/src/lazr/sshserver/tests/test_accesslog.py
@@ -3,10 +3,6 @@
33
4"""Tests for the logging system of the sshserver."""4"""Tests for the logging system of the sshserver."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type
9
10import logging6import logging
11import os7import os
12import sys8import sys
@@ -29,7 +25,7 @@ class LoggingManagerMixin:
29 def makeLogger(self, name=None):25 def makeLogger(self, name=None):
30 if name is None:26 if name is None:
31 self._log_count += 127 self._log_count += 1
32 name = "%s-%s" % (self.id().split(".")[-1], self._log_count)28 name = "{}-{}".format(self.id().split(".")[-1], self._log_count)
33 return logging.getLogger(name)29 return logging.getLogger(name)
3430
35 def installLoggingManager(31 def installLoggingManager(
@@ -57,7 +53,7 @@ class TestLoggingBreezyInteraction(BrzTestCase, LoggingManagerMixin):
57 directory = self.useFixture(fixtures.TempDir()).path53 directory = self.useFixture(fixtures.TempDir()).path
58 self.overrideEnv("BRZ_LOG", os.path.join(directory, "brz.log"))54 self.overrideEnv("BRZ_LOG", os.path.join(directory, "brz.log"))
59 breezy.get_global_state()55 breezy.get_global_state()
60 super(TestLoggingBreezyInteraction, self).setUp()56 super().setUp()
6157
62 def test_leaves_brz_handlers_unchanged(self):58 def test_leaves_brz_handlers_unchanged(self):
63 # Breezy's log handling is untouched by logging setup.59 # Breezy's log handling is untouched by logging setup.
diff --git a/src/lazr/sshserver/tests/test_auth.py b/src/lazr/sshserver/tests/test_auth.py
index adea2c4..658b979 100644
--- a/src/lazr/sshserver/tests/test_auth.py
+++ b/src/lazr/sshserver/tests/test_auth.py
@@ -1,10 +1,6 @@
1# Copyright 2009-2018 Canonical Ltd. This software is licensed under the1# Copyright 2009-2018 Canonical Ltd. This software is licensed under the
2# GNU Lesser General Public License version 3 (see the file LICENSE).2# GNU Lesser General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function
5
6__metaclass__ = type
7
8import base644import base64
9import functools5import functools
10import io6import io
@@ -101,9 +97,9 @@ class MockSSHTransport(SSHServerTransport):
101 pass97 pass
10298
10399
104class UserAuthServerMixin(object):100class UserAuthServerMixin:
105 def setUp(self):101 def setUp(self):
106 super(UserAuthServerMixin, self).setUp()102 super().setUp()
107 self.portal = Portal(MockRealm())103 self.portal = Portal(MockRealm())
108 self.transport = MockSSHTransport(self.portal)104 self.transport = MockSSHTransport(self.portal)
109 self.user_auth = auth.SSHUserAuthServer(self.transport)105 self.user_auth = auth.SSHUserAuthServer(self.transport)
@@ -219,7 +215,7 @@ class TestUserAuthServer(UserAuthServerMixin, testtools.TestCase):
219 # An initial SSH_MSG_USERAUTH_REQUEST packet may be sent without a215 # An initial SSH_MSG_USERAUTH_REQUEST packet may be sent without a
220 # signature to query whether publickey authentication would be216 # signature to query whether publickey authentication would be
221 # acceptable. See RFC 4252, Section 7.217 # acceptable. See RFC 4252, Section 7.
222 class MockLogin(object):218 class MockLogin:
223 def __init__(self, portal):219 def __init__(self, portal):
224 self.portal = portal220 self.portal = portal
225221
@@ -255,7 +251,7 @@ class TestUserAuthServer(UserAuthServerMixin, testtools.TestCase):
255 def test_worksAroundShortParamikoSignatures(self):251 def test_worksAroundShortParamikoSignatures(self):
256 # paramiko < 2.0.0 truncates RSA signatures whose most significant252 # paramiko < 2.0.0 truncates RSA signatures whose most significant
257 # byte is zero. auth_publickey tolerates this.253 # byte is zero. auth_publickey tolerates this.
258 class MockLogin(object):254 class MockLogin:
259 def __init__(self, portal):255 def __init__(self, portal):
260 self.portal = portal256 self.portal = portal
261257
@@ -331,14 +327,14 @@ class TestAuthenticationBannerDisplay(UserAuthServerMixin, testtools.TestCase):
331 run_tests_with = AsynchronousDeferredRunTest327 run_tests_with = AsynchronousDeferredRunTest
332328
333 def setUp(self):329 def setUp(self):
334 super(TestAuthenticationBannerDisplay, self).setUp()330 super().setUp()
335 self.portal.registerChecker(MockChecker())331 self.portal.registerChecker(MockChecker())
336 self.user_auth.serviceStarted()332 self.user_auth.serviceStarted()
337 self.key_data = self._makeKey()333 self.key_data = self._makeKey()
338334
339 def tearDown(self):335 def tearDown(self):
340 self.user_auth.serviceStopped()336 self.user_auth.serviceStopped()
341 super(TestAuthenticationBannerDisplay, self).tearDown()337 super().tearDown()
342338
343 def _makeKey(self):339 def _makeKey(self):
344 keydir = sibpath(__file__, "keys")340 keydir = sibpath(__file__, "keys")
@@ -524,7 +520,7 @@ class TestPublicKeyFromLaunchpadChecker(testtools.TestCase):
524 return failure.Failure(UnauthorizedLogin())520 return failure.Failure(UnauthorizedLogin())
525521
526 def setUp(self):522 def setUp(self):
527 super(TestPublicKeyFromLaunchpadChecker, self).setUp()523 super().setUp()
528 self.authserver = self.FakeAuthenticationEndpoint()524 self.authserver = self.FakeAuthenticationEndpoint()
529525
530 @defer.inlineCallbacks526 @defer.inlineCallbacks
diff --git a/src/lazr/sshserver/tests/test_events.py b/src/lazr/sshserver/tests/test_events.py
index a3e790a..fc6582e 100644
--- a/src/lazr/sshserver/tests/test_events.py
+++ b/src/lazr/sshserver/tests/test_events.py
@@ -3,10 +3,6 @@
33
4"""Tests for the logging events."""4"""Tests for the logging events."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type
9
10import logging6import logging
117
12import testtools8import testtools
@@ -62,7 +58,7 @@ class TestLoggingEvent(testtools.TestCase):
62 self.assertLogs([record], notify, logging_event)58 self.assertLogs([record], notify, logging_event)
6359
64 def setUp(self):60 def setUp(self):
65 super(TestLoggingEvent, self).setUp()61 super().setUp()
66 logger = logging.getLogger(self.getUniqueString())62 logger = logging.getLogger(self.getUniqueString())
67 logger.setLevel(logging.DEBUG)63 logger.setLevel(logging.DEBUG)
68 self.logger = logger64 self.logger = logger
diff --git a/src/lazr/sshserver/tests/test_session.py b/src/lazr/sshserver/tests/test_session.py
index aebc200..388944b 100644
--- a/src/lazr/sshserver/tests/test_session.py
+++ b/src/lazr/sshserver/tests/test_session.py
@@ -3,10 +3,6 @@
33
4"""Tests for generic SSH session support."""4"""Tests for generic SSH session support."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type
9
10import testtools6import testtools
11from twisted.conch.interfaces import ISession7from twisted.conch.interfaces import ISession
12from twisted.conch.ssh import connection8from twisted.conch.ssh import connection
@@ -51,7 +47,7 @@ class TestDoNothing(testtools.TestCase):
51 """Tests for DoNothingSession."""47 """Tests for DoNothingSession."""
5248
53 def setUp(self):49 def setUp(self):
54 super(TestDoNothing, self).setUp()50 super().setUp()
55 self.session = DoNothingSession(None)51 self.session = DoNothingSession(None)
5652
57 def test_getPtyIsANoOp(self):53 def test_getPtyIsANoOp(self):
diff --git a/tox.ini b/tox.ini
index b8f1aca..16b91cd 100644
--- a/tox.ini
+++ b/tox.ini
@@ -13,6 +13,7 @@ commands =
13deps =13deps =
14 .[test]14 .[test]
15 py35: breezy<3.2.015 py35: breezy<3.2.0
16 py36: breezy<3.3.0
1617
17[testenv:lint]18[testenv:lint]
18basepython =19basepython =

Subscribers

People subscribed via source and target branches