coffeepenbit / bookstack

A Python wrapper for BookStack's API
MIT License
23 stars 8 forks source link

TypeError thrown during generate_api_methods() #11

Open keithlee-co-uk opened 9 months ago

keithlee-co-uk commented 9 months ago

The code is as follows so far

api = bookstack.BookStack(base_url, 
                          token_id=token_id, 
                          token_secret=token_secret)

api.generate_api_methods()

the output

Traceback (most recent call last):
  File "/home/keith/repo/release-automation-bookstack/release-checklist.py", line 13, in <module>
    api.generate_api_methods()
  File "/home/keith/repo/release-automation-bookstack/.venv/lib/python3.11/site-packages/bookstack/models.py", line 33, in generate_api_methods
    method_name = self._create_method_name(method_info)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/keith/repo/release-automation-bookstack/.venv/lib/python3.11/site-packages/bookstack/models.py", line 70, in _create_method_name
    '_'.join([method_info['method'], method_info['name']])
              ~~~~~~~~~~~^^^^^^^^^^
TypeError: string indices must be integers, not 'str'

BookStack v23.05.1
Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] on linux

PandeoF1 commented 6 months ago

Same issue, did you patch it @keithlee-co-uk ?

bmmmm commented 2 months ago

I received the same error with a wrongly configured API token. After setting "Access system API" for the tokens / users role. it works as expected. image

You can verify it while being logged in with the relevant user and open: http://YOUR-IP/api/docs.json

PandeoF1 commented 2 months ago

Mmmhh interesting, i will try that. (I have actually re dev my own bookstack client because i was loosing to much time on this problem x) )