Sandata templates. API scripts for a few customers.
This commit is contained in:
@ -1,6 +1,11 @@
|
|||||||
{% include "header" %}
|
{% include "header" %}
|
||||||
{% include "course_version_outdated_alert", courses: courses.enrolled %}
|
{% include "course_version_outdated_alert", courses: courses.enrolled %}
|
||||||
{% include "sub_navigation" %}
|
{% include "sub_navigation" %}
|
||||||
|
<div role="alert" class="np-alert np-alert-global np-alert-info" style="background-color: #156082;">
|
||||||
|
<div class="np-alert-container uk-container uk-container-center">
|
||||||
|
<a href="https://sandata.zendesk.com/hc/en-us/requests/new?ticket_form_id=29573263548819" style="text-decoration:none; background-color:#156082; color:#ffffff;"/>For Help/Support Click here.</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<main class="np-main np-dashboard np-subpage-container np-max-width">
|
<main class="np-main np-dashboard np-subpage-container np-max-width">
|
||||||
<div class="row np-flex-center">
|
<div class="row np-flex-center">
|
||||||
<div class="col-xs-12 col-sm-8">
|
<div class="col-xs-12 col-sm-8">
|
||||||
|
|||||||
@ -25,7 +25,7 @@
|
|||||||
<input class="sign-up-follow-up-input" placeholder="Medicaid ID #" id="medicaid-id-input"/>
|
<input class="sign-up-follow-up-input" placeholder="Medicaid ID #" id="medicaid-id-input"/>
|
||||||
<span class="sign-up-follow-up-error-label" id="medicaid-id-label">Please enter a valid, 5-12 digit Medicaid ID number</span>
|
<span class="sign-up-follow-up-error-label" id="medicaid-id-label">Please enter a valid, 5-12 digit Medicaid ID number</span>
|
||||||
<input class="sign-up-follow-up-input" placeholder="Provider ID #" id="provider-id-input"/>
|
<input class="sign-up-follow-up-input" placeholder="Provider ID #" id="provider-id-input"/>
|
||||||
<span class="sign-up-follow-up-error-label" id="provider-id-label">Please enter a valid, 10 digit Provider ID number</span>
|
<span class="sign-up-follow-up-error-label" id="provider-id-label">Please enter a valid, 1-10 digit Provider ID number</span>
|
||||||
|
|
||||||
{% comment %} <h1 class="sign-up-follow-up-prompt">Role: </h1> {% endcomment %}
|
{% comment %} <h1 class="sign-up-follow-up-prompt">Role: </h1> {% endcomment %}
|
||||||
{% include "sign_up_follow_up_roles_dropdown" %}
|
{% include "sign_up_follow_up_roles_dropdown" %}
|
||||||
@ -234,7 +234,7 @@
|
|||||||
let splitID = event.target.value.split('');
|
let splitID = event.target.value.split('');
|
||||||
let valid = true;
|
let valid = true;
|
||||||
|
|
||||||
if(splitID.length == 10){
|
if(splitID.length >= 1 && splitID.length <= 10){
|
||||||
for(let i = 0; i < splitID.length; i++){
|
for(let i = 0; i < splitID.length; i++){
|
||||||
if(digits[splitID[i]] != splitID[i]){
|
if(digits[splitID[i]] != splitID[i]){
|
||||||
valid = false;
|
valid = false;
|
||||||
|
|||||||
@ -23,3 +23,7 @@
|
|||||||
background: #FFF !important;
|
background: #FFF !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.np-sub-navigation {
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@ from pathlib import Path
|
|||||||
import Apikeys
|
import Apikeys
|
||||||
import os
|
import os
|
||||||
|
|
||||||
basefile = "/Users/normrasmussen/Downloads/mizuno-april-completions.csv"
|
basefile = "/Users/normrasmussen/Downloads/mizuno-may-completions.csv"
|
||||||
api_key = Apikeys.MIZUNO
|
api_key = Apikeys.MIZUNO
|
||||||
uuid_url = "https://api.northpass.com/v2/people?filter[email][eq]="
|
uuid_url = "https://api.northpass.com/v2/people?filter[email][eq]="
|
||||||
prop_url = "https://api.northpass.com/v2/properties/people/"
|
prop_url = "https://api.northpass.com/v2/properties/people/"
|
||||||
@ -26,7 +26,8 @@ def load_file(basefile):
|
|||||||
for email in completions.itertuples():
|
for email in completions.itertuples():
|
||||||
row_num = email[0]
|
row_num = email[0]
|
||||||
row_dict = {"row_num": row_num}
|
row_dict = {"row_num": row_num}
|
||||||
email = email[2]
|
email = email[3]
|
||||||
|
print(email)
|
||||||
url = uuid_url + f"{email}"
|
url = uuid_url + f"{email}"
|
||||||
response = requests.get(url, headers=headers)
|
response = requests.get(url, headers=headers)
|
||||||
if response.status_code == 200:
|
if response.status_code == 200:
|
||||||
@ -50,7 +51,7 @@ def load_file(basefile):
|
|||||||
completions = completions[completions["userid"] != "0"]
|
completions = completions[completions["userid"] != "0"]
|
||||||
# completions = completions.iloc[:, 0:]
|
# completions = completions.iloc[:, 0:]
|
||||||
completions.to_csv(
|
completions.to_csv(
|
||||||
"/Users/normrasmussen/Downloads/Mizuno-April2024-with-PGAID.csv",
|
"/Users/normrasmussen/Downloads/Mizuno-May2024-with-PGAID.csv",
|
||||||
index=False,
|
index=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -55,7 +55,7 @@ def get_courses():
|
|||||||
pp.pprint(list_of_ids)
|
pp.pprint(list_of_ids)
|
||||||
# print(len(list_of_ids))
|
# print(len(list_of_ids))
|
||||||
with open(
|
with open(
|
||||||
"/Users/normrasmussen/Downloads/Walmart-Live-Courses.csv", "a+", newline='\n'
|
"/Users/normrasmussen/Downloads/Anthology-Courses.csv", "a+", newline='\n'
|
||||||
) as csvfile:
|
) as csvfile:
|
||||||
for group in list_of_ids:
|
for group in list_of_ids:
|
||||||
for key, value in group.items():
|
for key, value in group.items():
|
||||||
|
|||||||
@ -80,28 +80,35 @@ def group_ids():
|
|||||||
def get_courses(ids):
|
def get_courses(ids):
|
||||||
df = pd.DataFrame()
|
df = pd.DataFrame()
|
||||||
courses = []
|
courses = []
|
||||||
|
error_groups = []
|
||||||
for tupe in ids:
|
for tupe in ids:
|
||||||
id = tupe[0]
|
id = tupe[0]
|
||||||
group = tupe[1]
|
group = tupe[1]
|
||||||
print(f"Get Courses Function. Group:{ group } and id: {id}")
|
|
||||||
for count in range(1, 10):
|
for count in range(1, 10):
|
||||||
|
print(f"Get Courses For Loop. Group:{ group } and count: {count}")
|
||||||
url2 = f"groups/{id}/courses?limit=100&page={count}"
|
url2 = f"groups/{id}/courses?limit=100&page={count}"
|
||||||
courseurl = f"{BASEURL}{url2}"
|
courseurl = f"{BASEURL}{url2}"
|
||||||
coursereq = requests.get(courseurl, headers=HEADERS)
|
coursereq = requests.get(courseurl, headers=HEADERS)
|
||||||
coursedata = coursereq.json()
|
try:
|
||||||
print(coursedata)
|
coursedata = coursereq.json()
|
||||||
nextlink = coursedata["links"]
|
nextlink = coursedata["links"]
|
||||||
for cdata in coursedata["included"]:
|
for cdata in coursedata["included"]:
|
||||||
# if cdata["attributes"]["status"] == "archived":
|
# if cdata["attributes"]["status"] == "archived":
|
||||||
coursedict = parse_data(cdata, group)
|
coursedict = parse_data(cdata, group)
|
||||||
print(f"Coursedict --> {coursedict} for page {count}")
|
print(f"Coursedict --> {coursedict} for page {count}")
|
||||||
if coursedict is not None:
|
if coursedict is not None:
|
||||||
courses.append(coursedict)
|
courses.append(coursedict)
|
||||||
if "next" not in nextlink:
|
except JSONDecodeError as e:
|
||||||
break
|
print("JSON Error! {e}")
|
||||||
|
error_groups.append(group)
|
||||||
|
|
||||||
pddata = df.from_records(courses)
|
finally:
|
||||||
pddata.to_csv("~/Downloads/ARCHIVED-Anthology_Course_IDs_Names.csv")
|
if "next" not in nextlink:
|
||||||
|
break
|
||||||
|
|
||||||
|
pddata = df.from_records(courses)
|
||||||
|
pddata.to_csv("/Users/normrasmussen/Downloads/ALL-Anthology_Course_IDs_Names.csv")
|
||||||
|
print(error_groups)
|
||||||
|
|
||||||
|
|
||||||
def parse_data(cdata, group):
|
def parse_data(cdata, group):
|
||||||
|
|||||||
Reference in New Issue
Block a user