From 3cac385a7f3957df04a17a216b2e3510ad7947e7 Mon Sep 17 00:00:00 2001 From: Norm Rasmussen Date: Mon, 31 Oct 2022 10:47:43 -0400 Subject: [PATCH] walmart script --- Scripts/AE_Reminders/AEMissedMeetingData.js | 2 +- Scripts/WCA_Webhook/Code.js | 2 +- Scripts/WalmartExcel/requirements.txt | 31 +++++++++ Scripts/WalmartExcel/walmart.py | 63 ++++++++++++++++++ Timetagger/_timetagger/users/norm~bm9ybQ==.db | Bin 135168 -> 139264 bytes 5 files changed, 96 insertions(+), 2 deletions(-) create mode 100644 Scripts/WalmartExcel/requirements.txt create mode 100644 Scripts/WalmartExcel/walmart.py diff --git a/Scripts/AE_Reminders/AEMissedMeetingData.js b/Scripts/AE_Reminders/AEMissedMeetingData.js index b76bd306..353c6f7a 100644 --- a/Scripts/AE_Reminders/AEMissedMeetingData.js +++ b/Scripts/AE_Reminders/AEMissedMeetingData.js @@ -214,4 +214,4 @@ function findMeetings() { // Setting up data range and empty arrays //Logger.log(sendMsg); // Debug to confirm send //Logger.log(respCode); // Debug to show errors, if any } -}; \ No newline at end of file +}; diff --git a/Scripts/WCA_Webhook/Code.js b/Scripts/WCA_Webhook/Code.js index e4b628ea..0383c57a 100644 --- a/Scripts/WCA_Webhook/Code.js +++ b/Scripts/WCA_Webhook/Code.js @@ -44,4 +44,4 @@ function doPost(e) { SpreadsheetApp.flush(); return HtmlService.createHtmlOutput("post request received"); -} \ No newline at end of file +} diff --git a/Scripts/WalmartExcel/requirements.txt b/Scripts/WalmartExcel/requirements.txt new file mode 100644 index 00000000..037a2d07 --- /dev/null +++ b/Scripts/WalmartExcel/requirements.txt @@ -0,0 +1,31 @@ +asgineer==0.8.1 +bcrypt==4.0.0 +certifi==2022.6.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +greenlet==1.1.3 +h11==0.13.0 +idna==3.3 +itemdb==1.1.1 +Jinja2==3.1.2 +Levenshtein==0.20.7 +Markdown==3.4.1 +MarkupSafe==2.1.1 +msgpack==1.0.4 +numpy==1.23.4 +pandas==1.5.1 +pscript==0.7.7 +PyJWT==2.4.0 +pynvim==0.4.3 +python-dateutil==2.8.2 +python-Levenshtein==0.20.7 +pytz==2022.5 +rapidfuzz==2.12.0 +requests==2.28.1 +six==1.16.0 +timetagger==22.9.1 +timetagger-cli==21.5.1 +toml==0.10.2 +urllib3==1.26.12 +uvicorn==0.18.3 +XlsxWriter==3.0.3 diff --git a/Scripts/WalmartExcel/walmart.py b/Scripts/WalmartExcel/walmart.py new file mode 100644 index 00000000..ff1da2f0 --- /dev/null +++ b/Scripts/WalmartExcel/walmart.py @@ -0,0 +1,63 @@ +import os +import sys +from datetime import date +import glob +import shutil +import csv +import pandas as pd + +rootdir = "/Users/normrasmussen/Documents/Resources/Walmart/" +downloadir = "/Users/normrasmussen/Google Drive/My Drive/Shared with Clients/Walmart/" +basefile = "WalmartBase.xlsx" + +def copytemplate(rootdir, basefile): + today = date.today() + today = today.strftime("%m.%d.%Y") + template = rootdir+basefile + todayFile = f"Walmart-{today}.xlsx" + if os.path.exists(rootdir): + shutil.copy2(template, rootdir+todayFile) + #dirfiles = os.listdir(rootdir) + #print(dirfiles) + currentDash = rootdir+f"Walmart-{today}.xlsx" + print(currentDash) + findlatestExport(currentDash) + +def findlatestExport(currentDash): + listfiles = glob.glob(downloadir + '*.xlsx') + latestdownload = max(listfiles, key=os.path.getctime) + print(latestdownload) + copytoDash(latestdownload, currentDash) + +def copytoDash(latestdownload, currentDash): + readExport = pd.read_excel(latestdownload, index_col=False) + readExport.drop( + readExport.filter( + regex="Unname" + ),axis=1, + inplace=True) + copiedData = readExport.copy() + #with pd.ExcelWriter("") + +def bringtoExcel(latestdownload, currentDash): + with pd.ExcelWriter( + currentDash, + mode="a", + engine="openpyxl", + if_sheet_exists="overlay", + ) as writer: + copiedData.to_excel( + writer, + sheet_name="Data", + index=False, + ) +# cleanitUp(currentDash) + +def cleanitUp(currentDash): + cleanExcel = pd.read_excel(currentDash, sheet_name="Data", index_col=None) + cleanExcel.columns.values[0] = "tmp" + cleanExcel.drop(columns="tmp", axis=1, inplace=True) + print(cleanExcel) + +if __name__ == "__main__": + copytemplate(rootdir, basefile) diff --git a/Timetagger/_timetagger/users/norm~bm9ybQ==.db b/Timetagger/_timetagger/users/norm~bm9ybQ==.db index efdfa199d2d4fcfd0d56a25f09a40083df899c2f..c7de1461283c1c1e1a1b24381bf46d8a8a2b567d 100644 GIT binary patch delta 4501 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 B)>i-k