36 lines
859 B
Python
Executable File
36 lines
859 B
Python
Executable File
#!/usr/bin/env python
|
|
|
|
"""
|
|
Open the secrets.yml and replace all passwords.
|
|
Original is backed up.
|
|
"""
|
|
|
|
from os import path
|
|
import random
|
|
import string
|
|
from subprocess import call
|
|
from yaml import load, dump
|
|
|
|
try:
|
|
from yaml import CLoader as Loader, CDumper as Dumper
|
|
except ImportError:
|
|
from yaml import Loader, Dumper
|
|
|
|
# length of generated passwords.
|
|
pass_length = 20
|
|
|
|
with open('secrets.yml.topol', 'r') as f:
|
|
data = load(f, Loader=Loader)
|
|
|
|
for key, value in data.iteritems():
|
|
data[key] = ''.join(
|
|
random.choice(string.ascii_letters + string.digits)
|
|
for _ in range(pass_length))
|
|
|
|
# Make numbered backups of the secrets file.
|
|
if path.isfile('secrets.yml'):
|
|
call(['cp', '--backup=numbered', 'secrets.yml', 'secrets.yml.bak'])
|
|
|
|
with open('secrets.yml', 'w') as f:
|
|
dump(data, f, Dumper=Dumper, default_flow_style=False)
|