DV,Walmart, API Tests

This commit is contained in:
Norm Rasmussen
2022-11-07 10:36:13 -05:00
parent 45f1f32b3b
commit fce96a5ea6
7 changed files with 96 additions and 40 deletions

View File

@ -0,0 +1,24 @@
## 11/4/2022
### Conversation with Justine regarding Contract
* They are heavily funded by the Canandian Government
* FY is April - March
* Gov't was very forgiving during the pandemic
* This year, they are not funding any training _unless_ there is a mechanism for immedieate feedback
* HC also invested a lot of money on content creation, videographers, etc.
* As such, will not be renewing with Northpass.
* They need to convert all their stuff into man power, which is less profitable
* This is challenging their structure and profitability
* They need to prove to clients that within a year, they will reach their ROI for the training
* What's covered and what isn't by the Government:
* 20 people in training
* HC charges 12 hours of online training, for example
* The only way that is covered if the 20 people are together, watching together, providing feedback to each other.
* But that 12 hour could only be charged once. So it would have to be a 12 hour sitting.
* Then each 20 would have to book with the instructors for 1:1 coaching
* That would be a ton of hours per employee, a huge sunk cost
* How are they going to change their business model?
* 2k per head, minimum 10 people clients
* Break that 2k into small chunks and charge x * 10 or x*20 depending on the number of people

View File

@ -0,0 +1,14 @@
## 11/4/2022
### Analytics for Q4
* For individual activities:
* The Webhook Sheet, is good to go.
* For x center she needs # of courses started, # completed. Filtered MCA?
* In numbers not percentages
* Centers are Groups
* It is hard to pull by group because other people add nurses but don't put them into a specific group.
* She needs to add certain people into their group
* They have SSO, through Okta
* Ideally, she will have people in groups AND with their position
* And she needs this for every single group in the school.
* If someone isn't active, no need to pull them in.
* Her numbers are due in December. She did it manually for Q3. They send out the numbers in the first weeks of the new quarter.

View File

@ -11,52 +11,44 @@ const CARDS = [
name: "Northpass Admin",
icon: "ri-admin-line",
link: "https://app.northpass.com/admin",
clipboard: false,
},
{
name: "Gmail",
icon: "ri-mail-line",
link: "https://gmail.com",
clipboard: false,
},
{
name: "Calendar",
icon: "ri-calendar-line",
link: "https://calendar.google.com",
clipboard: false,
},
{
name: "Hubspot",
icon: "ri-space-ship-line",
link: "https://app.hubspot.com/reports-dashboard/392014/view/8969543",
clipboard: false,
},
{
name: "Jira - SE Board",
icon: "ri-open-arm-fill",
link: "https://northpass.atlassian.net/jira/software/c/projects/ES/boards/1",
clipboard: false,
},
{
name: "Chili Piper - 30 Min",
icon: "ri-calendar-2-line",
link: "https://northpass.na.chilipiper.com/book/me/norm-rasmussen",
cliprboad: true,
clipboard: true,
},
{
name: "Looker - External",
icon: "ri-bubble-chart-line",
link: "https://northpass.looker.com/folders/4976",
clipboard: false,
},
{
name: "Looker - Internal",
icon: "ri-bubble-chart-fill",
link: "https://northpasshq.looker.com/dashboards/21",
clipboard: false,
},
];
/* -------------------------------------------------------- */
/******************/

View File

@ -12,30 +12,21 @@
<title>root: ~#</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
rel="stylesheet"
/>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300&display=swap"
rel="stylesheet">
<link rel="stylesheet" href="./styles.css" />
</head>
<body>
<header class="header">
<div>
<h1>Hello, <span id="userName">Norm!</span>.</h1>
<p>Today is <span id="currentDate">Monday 1, January 2000</span>.</p>
</div>
<p id="currentTime">00:00 PM</p>
</header>
<main id="cardContainer"></main>
<div class="container">
<header class="header">
<div>
<h1>Hello there, <span id="userName">John Doe</span>.</h1>
<p>Today is <span id="currentDate">Monday 1, January 2000</span>.</p>
</div>
<p id="currentTime">00:00 PM</p>
</header>
<main id="cardContainer"></main>
</div>
<script src="./app.js"></script>
</body>
</html>
<script>
function copyHref(evt) {
if (currentCard.href == "https://northpass.na.chilipiper.com/book/me/norm-rasmussen") {
evt.preventDefault();
navigator.clipboard.writeText(currentCard.href)
}
};
</script>

View File

@ -1,15 +1,48 @@
import csv
from Levenshtein import distance as lev
import pandas as pd
import itertools
import sys
x = lev("nrasmussen", "mrasmussen")
print(x)
peopleCsv = "/Users/normrasmussen/Downloads/TalkspaceAllLearners.csv"
#def readSpreadsheet():
# with open('talkspace.csv', rb) as csvfile:
# for line in csvfile.readlines():
# array = line.split(',')
# emailcol = array[3]
def readCsv(peopleCsv):
people = []
readExport = pd.read_csv(
peopleCsv,
usecols=['Learner Full Name', 'Email'],
skipinitialspace=True,
#index_col=True,
)
people.extend(readExport['Email'].tolist())
startCompare(peopleCsv, people, readExport)
#def compareemails():
# levenshtein.distance(email1, email2)
# itertools combinations
def startCompare(peopleCsv, people, readExport):
email1 = []
email2 = []
for name1, name2, in itertools.combinations(people, 2):
#print(name1, name2) - prints all pairs, working so far.
distance = lev(name1, name2)
#print(distance) - successfully returns numbers
if distance > 0 and distance < 2:
email1.append(name1)
email2.append(name2)
writenewColumn(email1, email2, peopleCsv, readExport)
def writenewColumn(email1, email2, peopleCsv, readExport):
df = pd.DataFrame(readExport)
print(df)
df['Email1'] = pd.Series(email1)
df['Email2'] = pd.Series(email2)
df.drop_duplicates('Email1', inplace=True)
df.drop_duplicates('Email2', inplace=True)
df.drop_duplicates(
subset=['Email1', 'Email2'])
#keep = 'last').reset_index(drop=True)
writeLst = df.to_csv(
'/Users/normrasmussen/Downloads/TalkspaceDupes_singlechange.csv',
)
if __name__ == "__main__":
readCsv(peopleCsv)

View File

@ -40,9 +40,11 @@ def copytoDash(latestdownload, currentDash):
regex="Unname"
),axis=1,
inplace=True)
def progressFormat(latestdownload, currentDash, readExport):
df = pd.DataFrame(readExport)
readExport['Progress_replace'] = readExport['Progress'].str.replace('%','')
readExport['Progress_replace'] = pd.to_numeric(readExport['Progress_replace'])
copiedData = readExport.copy()
bringtoExcel(latestdownload, currentDash, copiedData)
#cleanitUp(latestdownload, currentDash, copiedData)