Skip to content

Commit

Permalink
Merge pull request #90 from SpiNNakerManchester/enter
Browse files Browse the repository at this point in the history
implement Context Manager directly
  • Loading branch information
rowleya authored Oct 13, 2023
2 parents 2fec4d0 + b22795c commit b0544f8
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions spalloc_client/protocol_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@
import json
import socket
from threading import current_thread, RLock, local
from spinn_utilities.abstract_context_manager import AbstractContextManager
from spinn_utilities.overrides import overrides
from spalloc_client._utils import time_left, timed_out, make_timeout


Expand Down Expand Up @@ -51,7 +49,7 @@ def __init__(self):
self.sock = None


class ProtocolClient(AbstractContextManager):
class ProtocolClient(object):
""" A simple (blocking) client implementation of the `spalloc-server
<https://github.com/SpiNNakerManchester/spalloc_server>`_ protocol.
Expand Down Expand Up @@ -105,9 +103,13 @@ def __init__(self, hostname, port=22244, timeout=None):
self._notifications_lock = RLock()
self._default_timeout = timeout

@overrides(AbstractContextManager._context_entered)
def _context_entered(self): # pragma: no cover
def __enter__(self):
self.connect(self._default_timeout)
return self

def __exit__(self, exc_type, exc_val, exc_tb):
self.close()
return False

def _get_connection(self, timeout):
if self._dead:
Expand Down

0 comments on commit b0544f8

Please sign in to comment.