script: More error checks and logging
This commit is contained in:
committed by
Rusty Russell
parent
58a620aa88
commit
9655f53194
27
.github/scripts/sync-rpc-cmds.py
vendored
27
.github/scripts/sync-rpc-cmds.py
vendored
@@ -35,7 +35,7 @@ def check_renderable(response, action, title):
|
||||
|
||||
renderable = data.get("renderable")
|
||||
if renderable is None:
|
||||
# Some endpoints don’t include renderable (e.g. DELETE)
|
||||
# Some endpoints don't include renderable (e.g. DELETE)
|
||||
return True
|
||||
|
||||
if not renderable.get("status", False):
|
||||
@@ -121,8 +121,18 @@ def main():
|
||||
"Authorization": "Bearer " + os.environ.get("README_API_KEY"),
|
||||
}
|
||||
|
||||
# Validate API key exists
|
||||
if not os.environ.get("README_API_KEY"):
|
||||
print("❌ ERROR: README_API_KEY environment variable not set")
|
||||
return
|
||||
|
||||
# path to the rst file from where we fetch all the RPC commands
|
||||
path_to_rst = "doc/index.rst"
|
||||
|
||||
if not os.path.exists(path_to_rst):
|
||||
print(f"❌ ERROR: File not found: {path_to_rst}")
|
||||
return
|
||||
|
||||
with open(path_to_rst, "r") as file:
|
||||
rst_content = file.read()
|
||||
|
||||
@@ -131,24 +141,31 @@ def main():
|
||||
|
||||
# Compare local and server commands list to get the list of command to add or delete
|
||||
commands_local_title = set(command[0] for command in commands_from_local)
|
||||
commands_readme_title = set(command['title'] for command in commands_from_readme)
|
||||
commands_readme_title = set(command['slug'] for command in commands_from_readme)
|
||||
commands_to_delete = commands_readme_title - commands_local_title
|
||||
commands_to_add = commands_local_title - commands_readme_title
|
||||
for name in commands_to_delete:
|
||||
publishDoc(Action.DELETE, name, "", 0, headers)
|
||||
sleep(3)
|
||||
sleep(1)
|
||||
|
||||
if commands_from_local:
|
||||
position = 0
|
||||
for name, file in commands_from_local:
|
||||
with open("doc/" + file) as f:
|
||||
file_path = "doc/" + file
|
||||
if not os.path.exists(file_path):
|
||||
print(f"⚠️ WARNING: File not found: {file_path}, skipping {name}")
|
||||
continue
|
||||
|
||||
with open(file_path) as f:
|
||||
body = f.read()
|
||||
action = Action.ADD if name in commands_to_add else Action.UPDATE
|
||||
publishDoc(action, name, body, position, headers)
|
||||
position += 1
|
||||
sleep(1)
|
||||
else:
|
||||
print("No commands found in the Manpages block.")
|
||||
print("⚠️ No commands found in the Manpages block.")
|
||||
|
||||
print("\n✨ Sync complete!")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user