mirror of
https://github.com/Rushilwiz/SkoolOS.git
synced 2025-04-16 02:10:19 -04:00
deleted commands.py
This commit is contained in:
parent
afea2c1494
commit
15f50b7519
173
CLI/commands.py
173
CLI/commands.py
|
@ -1,173 +0,0 @@
|
|||
from __future__ import print_function, unicode_literals
|
||||
from PyInquirer import prompt, print_json
|
||||
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()
|
||||
'''
|
||||
|
||||
#already ccrerrated account through website, has to login
|
||||
def update():
|
||||
"""
|
||||
Gets data from the database
|
||||
:return:
|
||||
"""
|
||||
return
|
||||
|
||||
def yesorno(question):
|
||||
questions = [
|
||||
{
|
||||
'type': 'input',
|
||||
'name': 'response',
|
||||
'message': question,
|
||||
},
|
||||
]
|
||||
answers = prompt(questions)
|
||||
if(answers["response"] == "y"):
|
||||
return True
|
||||
return False
|
||||
|
||||
def login():
|
||||
"""
|
||||
Login to the website with a username and password
|
||||
:return: user information json if successful, None otherwise
|
||||
"""
|
||||
#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():
|
||||
"""
|
||||
Used to create an account for the service.
|
||||
Called if the user does not have an existing account and must create one.
|
||||
:return: the new user account
|
||||
"""
|
||||
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():
|
||||
"""
|
||||
Login to an already verified user account
|
||||
:return:
|
||||
"""
|
||||
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
|
||||
"""
|
||||
Reads classes and assignments of/for the user and properly sets of their work directory
|
||||
:param user:
|
||||
:return:
|
||||
"""
|
||||
for c in user["classes"]:
|
||||
os.makedirs(c)
|
||||
for a in user["classes"][c]:
|
||||
os.makedirs(c + "/" + a)
|
||||
|
||||
def start():
|
||||
"""
|
||||
Prompts the user for whether or not they have an account and allows them to login/signup depending on their response
|
||||
:return:
|
||||
"""
|
||||
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))
|
||||
|
Loading…
Reference in New Issue
Block a user