function peers::cleanup_config() {
  local config
  config=$(config::config_file)

  python3 -c "
import re
config = open('${config}').read()

# Normalize multiple blank lines to single blank line
config = re.sub(r'\n{3,}', '\n\n', config)

# Ensure file ends with single newline
config = config.rstrip('\n') + '\n'

open('${config}', 'w').write(config)
"
}

function peers::remove_block() {
  local name="$1"
  local config
  config=$(config::config_file)

  python3 -c "
import re
config = open('${config}').read()
pattern = r'\n\[Peer\]\n# ${name}\n[^\n]+\n[^\n]+\n'
result = re.sub(pattern, '\n', config)
open('${config}', 'w').write(result)
"
}
