Skip to content

Commit 5bb8d8e

Browse files
author
zack-vii
committed
fixed for python3.7; replaced := and format {var=} syntax
1 parent b44466d commit 5bb8d8e

File tree

3 files changed

+29
-29
lines changed

3 files changed

+29
-29
lines changed

dhcppython/client.py

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,8 @@ def format_dhcp_packet(pkt: packet.DHCPPacket) -> str:
2929
broadcast = "BROADCAST" if pkt.flags else "UNICAST"
3030
client_info_padding = 18
3131
client_info = f"{pkt.htype} - {pkt.chaddr} ({utils.mac2vendor(pkt.chaddr)})"
32-
if (
33-
visual_diff := (
34-
utils.visual_length(client_info) - (COL_LEN - client_info_padding)
35-
)
36-
) > 0:
32+
visual_diff = (utils.visual_length(client_info) - (COL_LEN - client_info_padding))
33+
if visual_diff > 0:
3734
client_info = client_info[:-visual_diff]
3835

3936
output = (
@@ -172,15 +169,16 @@ def get_lease(
172169
if verbose > 1:
173170
print(format_dhcp_packet(discover))
174171
start = default_timer()
175-
logging.debug(f"Sending discover packet to {server} with {tx_id=}")
172+
logging.debug(f"Sending discover packet to {server} with {tx_id}")
176173
self.send_discover(server, discover, verbose)
177174
# O
178175
tries = 0
179-
while not (offer := self.receive_offer(tx_id, verbose)):
176+
offer = self.receive_offer(tx_id, verbose)
177+
while not offer:
180178
logging.debug(f"Sleeping {self.retry_interval} ms then retrying discover")
181179
sleep(self.retry_interval / 1000)
182180
logging.debug(
183-
f"Attempt {tries} - Sending discover packet to {server} with {tx_id=}"
181+
f"Attempt {tries} - Sending discover packet to {server} with {tx_id}"
184182
)
185183
if verbose > 1:
186184
print("Resending DISCOVER packet")
@@ -190,6 +188,7 @@ def get_lease(
190188
"Unable to obtain offer run client with -d for debug info"
191189
)
192190
tries += 1
191+
offer = self.receive_offer(tx_id, verbose)
193192
# R
194193
request = packet.DHCPPacket.Request(
195194
mac_addr,
@@ -204,15 +203,16 @@ def get_lease(
204203
print("REQUEST Packet")
205204
print(format_dhcp_packet(request))
206205
logging.debug(f"Constructed request packet: {request}")
207-
logging.debug(f"Sending request packet to {server} with {tx_id=}")
206+
logging.debug(f"Sending request packet to {server} with {tx_id}")
208207
self.send_request(server, request, verbose)
209208
# A
210209
tries = 0
211-
while not (ack := self.receive_ack(tx_id, verbose)):
210+
ack = self.receive_ack(tx_id, verbose)
211+
while not ack:
212212
logging.debug(f"Sleeping {self.retry_interval} ms then retrying request")
213213
sleep(self.retry_interval / 1000)
214214
logging.debug(
215-
f"Attempt {tries} - Sending request packet to {server} with {tx_id=}"
215+
f"Attempt {tries} - Sending request packet to {server} with {tx_id}"
216216
)
217217
if verbose > 1:
218218
print("Resending REQUEST packet")
@@ -222,7 +222,7 @@ def get_lease(
222222
"Unable to obtain ack run client with -d for debug info"
223223
)
224224
tries += 1
225-
225+
ack = self.receive_ack(tx_id, verbose)
226226
lease_time = default_timer() - start
227227
lease = Lease(discover, offer, request, ack, lease_time, self.ack_server)
228228

@@ -256,19 +256,19 @@ def listen(
256256
logging.debug(
257257
f"Select: {select.select(self.listening_sockets, self.writing_sockets, self.except_sockets, 0)}"
258258
)
259-
if len(
260-
socks := select.select(
259+
socks = select.select(
261260
self.listening_sockets,
262261
self.writing_sockets,
263262
self.except_sockets,
264263
self.select_timout,
265264
)[0]
266-
):
265+
if len(socks):
267266
for sock in socks:
268267
data, addr = sock.recvfrom(self.max_pkt_size)
269268
logging.debug(f"Received data from {addr}: {data}")
269+
dhcp_packet = self.get_valid_pkt(data)
270270
if (
271-
(dhcp_packet := self.get_valid_pkt(data)) is not None
271+
dhcp_packet is not None
272272
and dhcp_packet.xid == tx_id
273273
and dhcp_packet.msg_type == msg_type
274274
):
@@ -283,12 +283,14 @@ def listen(
283283
logging.debug(
284284
f"TX ID does not match expected ID {dhcp_packet.xid} != {tx_id}"
285285
)
286-
elif (msg_type_actual := dhcp_packet.msg_type) != msg_type:
287-
logging.debug(
288-
f"DHCP message type does not match expected: {msg_type_actual} != {msg_type}"
289-
)
290286
else:
291-
logging.debug("Something is wrong with this packet")
287+
msg_type_actual = dhcp_packet.msg_type
288+
if msg_type_actual != msg_type:
289+
logging.debug(
290+
f"DHCP message type does not match expected: {msg_type_actual} != {msg_type}"
291+
)
292+
else:
293+
logging.debug("Something is wrong with this packet")
292294
logging.debug(dhcp_packet)
293295
dhcp_packet = None
294296
tries += 1
@@ -346,14 +348,13 @@ def send(self, remote_addr: str, remote_port: int, data: bytes, verbosity: int):
346348
tries = 0
347349
while tries < self.max_tries:
348350
logging.debug(f"Select: {select.select(self.listening_sockets, self.writing_sockets, self.except_sockets, self.select_timout,)}")
349-
if len(
350-
socks := select.select(
351+
socks = select.select(
351352
self.listening_sockets,
352353
self.writing_sockets,
353354
self.except_sockets,
354355
self.select_timout,
355356
)[1]
356-
):
357+
if socks:
357358
sock = socks[0]
358359
logging.debug(f"Connecting to {remote_addr}:{remote_port}")
359360
logging.debug(f"Sending data {data!r}")

dhcppython/options.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
import csv
5555
from abc import ABC, abstractmethod
5656
import collections.abc
57-
from typing import Dict, Union, List, Tuple, Optional, TypedDict
57+
from typing import Dict, Union, List, Tuple, Optional
5858
import ipaddress
5959
import struct
6060
import json
@@ -74,9 +74,7 @@
7474
}
7575

7676

77-
class CodeDataMapping(TypedDict):
78-
obj: Option
79-
index: int
77+
CodeDataMapping = dict
8078

8179

8280
class OptionList(collections.abc.MutableSequence):

dhcppython/packet.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,8 @@ def asbytes(self):
111111

112112
@property
113113
def msg_type(self) -> Optional[str]:
114-
if msg_type_option := self.options.by_code(53):
114+
msg_type_option = self.options.by_code(53)
115+
if msg_type_option:
115116
return list(msg_type_option.value.values())[0]
116117
else:
117118
return None

0 commit comments

Comments
 (0)