34 lines
798 B
Python
34 lines
798 B
Python
|
#!/usr/bin/env python
|
||
|
|
||
|
"""
|
||
|
Open the secrets.yml and replace all passwords.
|
||
|
Original is backed up.
|
||
|
"""
|
||
|
|
||
|
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', '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.
|
||
|
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)
|