89 lines
2.3 KiB
Python
89 lines
2.3 KiB
Python
|
import login_generator_lib
|
||
|
|
||
|
|
||
|
def ask_for_amount_of_logins():
|
||
|
while True:
|
||
|
amount = input("how many logins do you want to generate? ")
|
||
|
if amount.isdigit():
|
||
|
amount = int(amount)
|
||
|
break
|
||
|
print("please input a number...")
|
||
|
return amount
|
||
|
|
||
|
|
||
|
def ask_for_complex_or_not():
|
||
|
while True:
|
||
|
complexity = input("do you want complex passwords (y/n)? ").lower()
|
||
|
if complexity.startswith("y"):
|
||
|
complexity = True
|
||
|
break
|
||
|
elif complexity.startswith("n"):
|
||
|
complexity = False
|
||
|
break
|
||
|
else:
|
||
|
print("please answer with y(es) of n(o)...")
|
||
|
return complexity
|
||
|
|
||
|
|
||
|
def ask_for_password_length():
|
||
|
while True:
|
||
|
length = input("how long should the password be? ")
|
||
|
if length.isdigit():
|
||
|
length = int(length)
|
||
|
break
|
||
|
print("please input a number...")
|
||
|
return length
|
||
|
|
||
|
|
||
|
def ask_for_save_to_file():
|
||
|
while True:
|
||
|
save = input("do you want to save the logins (y/n)? ").lower()
|
||
|
if save.startswith("y"):
|
||
|
save = True
|
||
|
break
|
||
|
elif save.startswith("n"):
|
||
|
save = False
|
||
|
break
|
||
|
else:
|
||
|
print("please answer with y(es) of n(o)...")
|
||
|
return save
|
||
|
|
||
|
|
||
|
def generate_logins(amount, length, complexity):
|
||
|
logins = []
|
||
|
for number in range(0, amount):
|
||
|
login = login_generator_lib.generate_login(length, complexity)
|
||
|
logins.append(login)
|
||
|
return logins
|
||
|
|
||
|
|
||
|
def save_to_file(data):
|
||
|
filepath = "logins.txt"
|
||
|
with open(filepath, "w") as fp:
|
||
|
for login in data:
|
||
|
username = login["username"]
|
||
|
password = login["password"]
|
||
|
fp.write("{} {}\n".format(username, password))
|
||
|
|
||
|
|
||
|
def show_logins(logins):
|
||
|
for login in logins:
|
||
|
username = login["username"]
|
||
|
password = login["password"]
|
||
|
print("generated login is: {} with {} as password".format(username, password))
|
||
|
|
||
|
|
||
|
def main():
|
||
|
amount_of_logins = ask_for_amount_of_logins()
|
||
|
complexity = ask_for_complex_or_not()
|
||
|
length = ask_for_password_length()
|
||
|
save = ask_for_save_to_file()
|
||
|
logins = generate_logins(amount_of_logins, length, complexity)
|
||
|
show_logins(logins)
|
||
|
if save:
|
||
|
save_to_file(logins)
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
main()
|