If we try to generate RPC reference in a non-existing directory, the script fail:
~/cp/developer.bitcoin.org/h/rpc master ?1 ❯ BITCOIN_CLI_PATH=bitcoin-cli python3 rpc_docs_helper generate --output-dir="/home/pyth/Desktop/rpc"
Command abandontransaction
Traceback (most recent call last):
File "/home/pyth/cpp/developer.bitcoin.org/helpers/rpc/rpc_docs_helper", line 91, in <module>
main()
File "/home/pyth/cpp/developer.bitcoin.org/helpers/rpc/rpc_docs_helper", line 66, in main
controller.generate(CliBitcoin(), renderer, arguments["COMMAND"])
File "/home/pyth/cpp/developer.bitcoin.org/helpers/rpc/cli_controller.py", line 19, in generate
generator.generate_overview()
File "/home/pyth/cpp/developer.bitcoin.org/helpers/rpc/generator.py", line 27, in generate_overview
self.generate_command(command)
File "/home/pyth/cpp/developer.bitcoin.org/helpers/rpc/generator.py", line 16, in generate_command
self.renderer.render_cmd_page(command, help_data)
File "/home/pyth/cpp/developer.bitcoin.org/helpers/rpc/renderer_markdown.py", line 315, in render_cmd_page
with open(self.output_dir / "rpcs" / command_file, "w") as file:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/home/pyth/Desktop/rpc/rpcs/abandontransaction.md'
~/cp/developer.bitcoin.org/h/rpc master ?1 ❯ BITCOIN_CLI_PATH=bitcoin-cli python3 rpc_docs_helper generate --output-dir="/home/pyth/Desktop/rpc"
Traceback (most recent call last):
File "/home/pyth/cpp/developer.bitcoin.org/helpers/rpc/rpc_docs_helper", line 91, in <module>
main()
File "/home/pyth/cpp/developer.bitcoin.org/helpers/rpc/rpc_docs_helper", line 66, in main
controller.generate(CliBitcoin(), renderer, arguments["COMMAND"])
File "/home/pyth/cpp/developer.bitcoin.org/helpers/rpc/cli_controller.py", line 19, in generate
generator.generate_overview()
File "/home/pyth/cpp/developer.bitcoin.org/helpers/rpc/generator.py", line 22, in generate_overview
self.renderer.render_overview_page(command_list.grouped(),
File "/home/pyth/cpp/developer.bitcoin.org/helpers/rpc/renderer_markdown.py", line 361, in render_overview_page
with open(self.output_dir / "quick-reference.md", "w") as file:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/home/pyth/Desktop/rpc/quick-reference.md'
This PR add a check + create directories if they not exist.
If we try to generate RPC reference in a non-existing directory, the script fail:
This PR add a check + create directories if they not exist.