From 327c2ed79399957b82fed7c945cb074f5461452f Mon Sep 17 00:00:00 2001 From: Raffu Khondaker <2022rkhondak@tjhsst.edu> Date: Thu, 4 Jun 2020 23:04:16 -0400 Subject: [PATCH] alt version --- CLI/commands.py | 138 ++++++++++++++++++++++++++++++++++++++++++++++++ CLI/run.py | 22 ++++++++ CLI/users.json | 1 + 3 files changed, 161 insertions(+) create mode 100644 CLI/commands.py create mode 100644 CLI/run.py create mode 100644 CLI/users.json diff --git a/CLI/commands.py b/CLI/commands.py new file mode 100644 index 0000000..ebb7d88 --- /dev/null +++ b/CLI/commands.py @@ -0,0 +1,138 @@ +from __future__ import print_function, unicode_literals +from PyInquirer import prompt, print_json +import json +import os +import argparse + + +#already ccrerrated account through website, has to login +def update(): + #get data from database + return + +def yesorno(question): + questions = [ + { + 'type': 'input', + 'name': 'response', + 'message': question, + }, + ] + answers = prompt(questions) + if(answers["response"] == "y"): + return True + return False + +def login(): + #enter username + #enter password + questions = [ + { + 'type': 'input', + 'name': 'webmail', + 'message': 'What\'s TJ Webmail', + }, + { + 'type': 'password', + 'name': 'password', + 'message': 'Password?', + }, + ] + user = prompt(questions) + #reading from json of users (replace w GET to database) to check if user is registered + with open('users.json', 'r') as json_file: + data = json.load(json_file) + for i in range(len(data)): + if user["webmail"] == data[i]["webmail"]: + if(user["password"] == data[i]["password"]): + print("Logged in!") + return data[i] + else: + print("Password incorrect. Try again.") + return None + print("User not found. Please Try again") + return None + +#did not create account through website, has to signup/login +def signup(): + questions = [ + { + 'type': 'input', + 'name': 'first-name', + 'message': 'What\'s your first name', + }, + { + 'type': 'input', + 'name': 'last-name', + 'message': 'What\'s your last name?', + }, + { + 'type': 'list', + 'name': 'grade', + 'message': 'Grade?', + 'choices':["9","10","11","12"] + }, + { + 'type': 'input', + 'name': 'webmail', + 'message': 'What\'s your TJ Webmail?', + }, + { + 'type': 'password', + 'name': 'password', + 'message': 'Password?', + }, + ] + user = prompt(questions) + for i in user: + if user[i] == "": + print("Some forms were left blank. Try again.\n") + return None + if len(user["password"]) < 6: + print("Password is too short. Try again.") + return None + if (("@tjhsst.edu" in user['webmail']) == False): + print("Webmail entered was not a @tjhhsst.edu. Try again.") + return None + + user["classes"] = [] + with open('users.json', 'r') as json_file: + data = json.load(json_file) + data.append(user) + open("users.json", "w").write(str(json.dumps(data))) + return user + +def relogin(): + questions = [ + { + 'type': 'list', + 'name': 'choice', + 'message': '', + 'choices':["Continue as current user","Login into new user","Sign up into new account"] + }, + ] + answer = prompt(questions) + + +def setup(user): + #Read classes/assignenments and setup directory: + #SkoolOS/Math/Week1 + for c in user["classes"]: + os.makedirs(c) + for a in user["classes"][c]: + os.makedirs(c + "/" + a) + +def start(): + if(os.path.exists(".login.txt") == False): + b = yesorno("Do you have a SkoolOS account?(y/N)") + if(b): + user = login() + if(user != None): + setup(user) + open(".login.txt", "w").write(str(user)) + else: + user = signup() + if(user != None): + open(".login.txt").write(str(user)) + + \ No newline at end of file diff --git a/CLI/run.py b/CLI/run.py new file mode 100644 index 0000000..aca8859 --- /dev/null +++ b/CLI/run.py @@ -0,0 +1,22 @@ +from __future__ import print_function, unicode_literals +from PyInquirer import prompt, print_json +from commands import start, update +import argparse +import json +import os +import argparse + +my_parser = argparse.ArgumentParser(prog='skool', description='Let SkoolOS control your system', epilog="Try again") +my_parser.add_argument('--init', action="store_true") #returns true if run argument +args = my_parser.parse_args() + +update() +outputs = vars(args) +if(outputs['init']): + start() + + + + + + diff --git a/CLI/users.json b/CLI/users.json new file mode 100644 index 0000000..bf1713e --- /dev/null +++ b/CLI/users.json @@ -0,0 +1 @@ +[{"first_name": "Raffu", "last_name": "Khondaker", "password": "password", "webmail": "2022rkhondak@tjhsst.edu", "classes": {"Math": ["week1_hw", "week2_hw", "week3_hw", "unit3_quiz"], "English": ["journal1", "journal2", "journal3"]}}] \ No newline at end of file