Now possible to update the yaml file

main
Lasse Server 3 years ago
parent dea8bfe5a1
commit 2fd8811954
  1. 39
      create_credentials.py

@ -1,29 +1,53 @@
import streamlit_authenticator as stauth
from sys import argv
import yaml
def credentials(username, email, name, pwd):
pwd = stauth.Hasher([pwd]).generate()[0]
credentials = f'''
credentials = {
'text': f'''
{username}:
email: {email}
name: {name}
password: {pwd}
'''
''',
'data': {username:
{'email': email,
'name': name,
'pwd': pwd}
}
}
return credentials
def update(c):
print(c['text'])
if input('Update credentials file? (y/n)') in ['y', 'yes']:
try:
with open('credentials.yaml','r') as f:
cur_yaml = yaml.safe_load(f) # Note the safe_load
cur_yaml['credentials']['usernames'].update(c['data'])
if cur_yaml:
with open('credentials.yaml','w') as f:
yaml.safe_dump(cur_yaml, f) # Also note the safe_dump
except FileNotFoundError:
print('Found no yaml file')
if len(argv) == 2:
if argv[1] == 'help':
print('username, email, name, pwd')
exit()
pwd = argv[1]
r = stauth.Hasher([pwd]).generate()[0]
print(stauth.Hasher([pwd]).generate()[0])
elif len(argv) == 5:
username = argv[1]
email = argv[2]
name = argv[3]
pwd = argv[4]
r = credentials(username, email, name, pwd)
c = credentials(username, email, name, pwd)
update(c)
else:
pwd = input('Password: ').strip()
@ -31,8 +55,9 @@ else:
if username != '':
email = input('Email: ')
name = input('Name: ')
r = credentials(username, email, name, pwd)
c = credentials(username, email, name, pwd)
update(c)
else:
r = stauth.Hasher([pwd]).generate()[0]
print(stauth.Hasher([pwd]).generate()[0])
print(r)

Loading…
Cancel
Save