adafruit / adafruit/Adafruit_CircuitPython_BLE_File_Transfer
Docs build broken
- Lingua principale
- Python
- Stelle
- 28
- Fork
- 5
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
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 "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "", line 995, in exec_module
File "", line 488, in _call_with_frames_removed
File "Adafruit_CircuitPython_BLE_File_Transfer/adafruit_ble_file_transfer.py", line 76, in
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: https://github.com/adafruit/Adafruit_CircuitPython_BLE_File_Transfer/blob/df30c3c42464bb961b3484a203352af4d6d64edd/adafruit_ble_file_transfer.py#L59-L61
`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.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Riproduci la build locale della documentazione con Python 3.12 e analizza il fallimento dell’importazione di Sphinx autodoc per adafruit_ble_file_transfer. Inizia dalle righe 59–61 di adafruit_ble_file_transfer.py, in particolare dai valori dei flag di Characteristic, e segui le classi intermedie menzionate nel report. Il lavoro è completato quando la build della documentazione importa il modulo senza questo TypeError né un avviso di autodoc.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- documentation
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 35/100