Skip to content

Commit 2f79150

Browse files
authored
Merge pull request #123 from tannewt/remove_from_entry
Remove from_entry and provide entry in __init__
2 parents 0c7a971 + eae4d47 commit 2f79150

File tree

5 files changed

+13
-39
lines changed

5 files changed

+13
-39
lines changed

adafruit_ble/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ def start_scan(
265265
# otherwise.
266266
if adv_type not in advertisement_types:
267267
continue
268-
advertisement = adv_type.from_entry(entry)
268+
advertisement = adv_type(entry=entry)
269269
if advertisement:
270270
yield advertisement
271271

adafruit_ble/advertising/__init__.py

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -236,31 +236,21 @@ class Advertisement:
236236
# MAX_LEGACY_DATA_SIZE = 31
237237
# """Data size in a regular BLE packet."""
238238

239-
def __init__(self):
240-
"""Create an advertising packet."""
239+
def __init__(self, *, entry=None):
240+
"""Create an empty advertising packet or one from a ScanEntry."""
241241
self.data_dict = {}
242242
self.address = None
243243
self._rssi = None
244244
self.connectable = False
245245
self.mutable = True
246246
self.scan_response = False
247-
248-
@classmethod
249-
def from_entry(cls, entry):
250-
"""Create an Advertisement based on the given ScanEntry. This is done automatically by
251-
`BLERadio` for all scan results."""
252-
self = cls()
253-
# If data_dict is available, use it directly. Otherwise decode the bytestring.
254-
if hasattr(entry, "data_dict"):
255-
self.data_dict = entry.data_dict
256-
else:
247+
if entry:
257248
self.data_dict = decode_data(entry.advertisement_bytes)
258-
self.address = entry.address
259-
self._rssi = entry.rssi # pylint: disable=protected-access
260-
self.connectable = entry.connectable
261-
self.scan_response = entry.scan_response
262-
self.mutable = False
263-
return self
249+
self.address = entry.address
250+
self._rssi = entry.rssi # pylint: disable=protected-access
251+
self.connectable = entry.connectable
252+
self.scan_response = entry.scan_response
253+
self.mutable = False
264254

265255
@property
266256
def rssi(self):

adafruit_ble/advertising/apple.py

Lines changed: 0 additions & 13 deletions
This file was deleted.

adafruit_ble/advertising/standard.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -159,8 +159,8 @@ class ProvideServicesAdvertisement(Advertisement):
159159
services = ServiceList(standard_services=[0x02, 0x03], vendor_services=[0x06, 0x07])
160160
"""List of services the device can provide."""
161161

162-
def __init__(self, *services):
163-
super().__init__()
162+
def __init__(self, *services, entry=None):
163+
super().__init__(entry=entry)
164164
if services:
165165
self.services.extend(services)
166166
self.connectable = True
@@ -184,8 +184,8 @@ class SolicitServicesAdvertisement(Advertisement):
184184
solicited_services = ServiceList(standard_services=[0x14], vendor_services=[0x15])
185185
"""List of services the device would like to use."""
186186

187-
def __init__(self, *services):
188-
super().__init__()
187+
def __init__(self, *services, entry=None):
188+
super().__init__(entry=entry)
189189
self.solicited_services.extend(services)
190190
self.connectable = True
191191
self.flags.general_discovery = True

docs/advertising.rst

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,3 @@
99

1010
.. automodule:: adafruit_ble.advertising.adafruit
1111
:members:
12-
13-
.. automodule:: adafruit_ble.advertising.apple
14-
:members:

0 commit comments

Comments
 (0)