Add Obsidian config scripts

This adds two scripts for Obsidian vaults.
One will get the values of showInlineTitle for all vaults
The other will change the value to false in all vaults
This commit is contained in:
Tracey Clark 2024-06-08 15:42:30 -05:00
commit 2c82137a71
5 changed files with 95 additions and 37 deletions

View file

@ -0,0 +1,42 @@
#!/usr/bin/env python3
import os
import json
# Find all app.json config files for Obsidian
# in all subdirectories of the specified directory
# and show the value of showInlineTitle
# Assisted by ChatGPT
def get_show_inline_title_from_obsidian_folders(parent_directory):
try:
# Loop through all folders and subfolders in the parent directory
for root, dirs, files in os.walk(parent_directory):
# Check if the current directory is named ".obsidian"
if '.obsidian' in dirs:
obsidian_folder_path = os.path.join(root, '.obsidian')
# Look for a file named "app.json" in this folder
app_json_path = os.path.join(obsidian_folder_path, 'app.json')
if os.path.exists(app_json_path):
# Open the JSON file for reading
with open(app_json_path, 'r') as json_file:
data = json.load(json_file)
# Check if 'showInlineTitle' key exists
# and print its value
if 'showInlineTitle' in data:
print(
f"In '{app_json_path}': showInlineTitle is {data['showInlineTitle']}")
else:
print(
f"In '{app_json_path}': showInlineTitle key does not exist.")
except FileNotFoundError:
print(f"Error: Directory '{parent_directory}' not found.")
except json.JSONDecodeError:
print(f"Error: Invalid JSON file found in '{parent_directory}'.")
# Get the parent directory path from user input
parent_directory = input("Enter the parent directory path: ")
get_show_inline_title_from_obsidian_folders(parent_directory)