Skip to content

Docs build broken #29

Open
Open
@FoamyGuy

Description

@FoamyGuy

When I build the docs locally I first got a failure due to _bleio module not found.

I added that to the mock list which got me past that error.

But now the build is failing with this error:

WARNING: autodoc: failed to import module 'adafruit_ble_file_transfer'; the following exception was raised:
Traceback (most recent call last):
  File ".cpy_venv/lib/python3.12/site-packages/sphinx/ext/autodoc/importer.py", line 143, in import_module
    return importlib.import_module(modname)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "Adafruit_CircuitPython_BLE_File_Transfer/adafruit_ble_file_transfer.py", line 76, in <module>
    class FileTransferService(Service):
  File "Adafruit_CircuitPython_BLE_File_Transfer/adafruit_ble_file_transfer.py", line 86, in FileTransferService
    raw = _TransferCharacteristic()
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "Adafruit_CircuitPython_BLE_File_Transfer/adafruit_ble_file_transfer.py", line 59, in __init__
    properties=Characteristic.WRITE_NO_RESPONSE
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: unsupported operand type(s) for |: 'WRITE_NO_RESPONSE' and 'READ'
 [autodoc.import_object]

Which appears to take issue with these lines:

properties=Characteristic.WRITE_NO_RESPONSE
| Characteristic.READ
| Characteristic.NOTIFY,

Characteristic.WRITE_NO_RESPONSE, Characteristic.READ and Characteristic.NOTIFY are all ints if you follow them to their value, though they do go through some intermediary classes.

In a python 3.12 REPL I am able to bitwise OR the values wtihout issue:

Characteristic.NOTIFY | Characteristic.READ | Characteristic.WRITE_NO_RESPONSE
44

I'm not sure why sphinx / autodoc import is failing to do so.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions