diff --git a/app/2 b/app/2 deleted file mode 100644 index 7a7d52d..0000000 --- a/app/2 +++ /dev/null @@ -1,189 +0,0 @@ -from app import app -from flask import request, Flask, flash, render_template, session, make_response -import requests -import json -import pandas as pd -import re - - -@app.route("/", methods=["GET", "POST"]) -def ask_key(): - session.clear() - if request.method == "POST": - session["key"] = request.form.get("apikey") - if re.search("\s", session["key"]): - error = "Hm. That doesn't seem right" - return render_template("index.html", title="Home", error=error) - elif session["key"] is not None and len(session["key"]) > 10: - return render_template("options.html", title="Options") - else: - error = "Hm. That doesn't seem right" - return render_template("index.html", title="Home", error=error) - - else: - return render_template("index.html", title="Home") - - -@app.route("/", methods=["GET", "POST"]) -def render_home(): - return render_template("index.html", title="Home") - - -@app.route("/get_courses", methods=["GET", "POST"]) -def get_courses(): - array = [] - df = pd.DataFrame() - tempdf = pd.DataFrame() - pd.set_option("display.max_colwidth", 100) - x = 0 - - if request.method == "POST": - while True: - x += 1 - url = f"https://api.northpass.com/v2/courses?page={x}" - headers = {"accept": "application/json", "X-Api-Key": session["key"]} - response = requests.get(url, headers=headers) - jsonresponse = response.json() - dt = jsonresponse["data"] - next = jsonresponse["links"] - - for course in dt: - df = df.append(course["attributes"], ignore_index=True) - # df = df.drop("list_image_url", axis=1) - - if "next" not in next: - break - - dfhtml = df.to_html(col_space=5) - session["dfcsv"] = df.to_csv() - return render_template("table.html", tables=dfhtml, titles="Course List") - - else: - return "This isn't working. Let's go our own way." - - -@app.route("/table") -def table(): - return render_template("table.html", tables=[session["dfhtml"]], titles=["Table"]) - - -@app.route("/downloadcsv", methods=["GET", "POST"]) -def download_csv(): - if request.method == "GET": - download = make_response(session["dfcsv"]) - download.headers["Content-Disposition"] = "attachment; filename=export.csv" - download.headers["Content-Type"] = "text/csv" - return download - - -@app.route("/get_people", methods=["GET", "POST"]) -def get_people(): - array = [] - ppl_dict = {} - df = pd.DataFrame() - x = 0 - - if request.method == "POST": - while True: - x += 1 - url = f"https://api.northpass.com/v2/people?page={x}" - headers = {"accept": "application/json", "X-Api-Key": session["key"]} - response = requests.get(url, headers=headers) - data = response.json() - - for response in data["data"]: - print(response) - uuid = response["id"] - ppl_dict = {"id": uuid} - for keys, values in response["attributes"].items(): - ppl_dict[keys] = values - array.append(ppl_dict) - - print(array) - - next = data["links"] - if "next" not in next: - break - - Table = [] - for key, value in array.items(): # or .items() in Python 3 - temp = [] - temp.extend([key,value]) #Note that this will change depending on the structure of your dictionary - Table.append(temp) - return render_template("table.html", tables=Table, titles="People List") - - -""" - for person in dt: - print(person) - df = df.append(person["attributes"], ignore_index=True) - - - dfppl = df.to_html(col_space=5) - session["dfcsv"] = df.to_csv() - - else: - return "what what" - """ - - -@app.route("/add_options", methods=["POST"]) -def add_options(): - array = [] - dict_response = {} - df = pd.DataFrame() - x = 0 - if request.method == "POST": - while True: - x += 1 - url = f"https://api.northpass.com/v2/groups?page={x}" - headers = {"accept": "application/json", "X-Api-Key": session["key"]} - response = requests.get(url, headers=headers) - data = response.json() - # data = json.loads(data) - print(data) - - # print(type(response)) - # print(response) - # jsonresponse = response.json() - # dt = jsonresponse["data"] - # next = jsonresponse["links"] - - # for group in dt: - # df = df.from_dict(group["attributes"], orient="index") - # df = df.append(group["id"], ignore_index=True) - # df = df.append(group["attributes"], ignore_index=True) - - # if "next" not in next: - # break - - session["dfcsv"] = df.to_csv() - dfgroups = df.to_html(col_space=5) - return render_template( - "bulk_add.html", tables=dfgroups, titles="Bulk Add Learners" - ) - - -@app.route("/bulk_add", methods=["GET", "POST"]) -def bulk_add(): - if request.method == "POST": - emails = request.form.get("emails") - groups = request.form.get("groups") - url = "https://api.northpass.com/v2/bulk/people" - - payload = { - "data": {"attributes": {"people": [{"email": emails, "groups": groups}]}} - } - - headers = { - "accept": "application/json", - "content-type": "application/json", - "X-Api-Key": session["key"], - } - - -app.secret_key = "@&I\x1a?\xce\x94\xbb0w\x17\xbf&Y\xa2\xc2(A\xf5\xf2\x97\xba\xeb\xfa" - - -if __name__ == "__main__": - ask_key() diff --git a/app/__pycache__/routes.cpython-311.pyc b/app/__pycache__/routes.cpython-311.pyc index 54d8a9c..1087553 100644 Binary files a/app/__pycache__/routes.cpython-311.pyc and b/app/__pycache__/routes.cpython-311.pyc differ diff --git a/app/routes.py b/app/routes.py index 993b9cb..dbda80b 100644 --- a/app/routes.py +++ b/app/routes.py @@ -16,6 +16,12 @@ def ask_key(): error = "Hm. That doesn't seem right" return render_template("index.html", title="Home", error=error) elif session["key"] is not None and len(session["key"]) > 10: + url = "https://api.northpass.com/v2/properties/school" + headers = {"accept": "application/json", "X-Api-Key": session["key"]} + response = requests.get(url, headers=headers) + data = response.json() + session["school"] = data["data"]["attributes"]["properties"]["name"] + print(session["school"]) return render_template("options.html", title="Options") else: error = "Hm. That doesn't seem right" @@ -241,12 +247,22 @@ def bulk_add_groups(): response = str(response) if "202" in response: error = "Success! Groups have been added successfully." - return render_template("bulk_add_groups.html", table=session["dfgroups"], title="Groups Added", error=error) + return render_template( + "bulk_add_groups.html", + table=session["dfgroups"], + title="Groups Added", + error=error, + ) elif "403" in response: error = "Uh oh. Looks like you're not the admin or don't have appropriate privileges. Please talk to your academy admin." elif "422" in response: error = "Hm. Looks like something was wrong with the group names. Reach out to the manager of this app." - return render_template("bulk_add_groups.html", table=session["dfgroups"], title="Groups Added", error=error) + return render_template( + "bulk_add_groups.html", + table=session["dfgroups"], + title="Groups Added", + error=error, + ) else: error = "Shrug" return render_template("bulk_add_groups.html", title="Shrug", error=error) diff --git a/app/templates/bulk_add_groups.html b/app/templates/bulk_add_groups.html index fa304f7..9db73a5 100644 --- a/app/templates/bulk_add_groups.html +++ b/app/templates/bulk_add_groups.html @@ -14,15 +14,5 @@
- -