Everything seems to be working. Selecting the client and hitting the submit button runs the report for the select client and downloads the report as *clientname*+*datetime+report.xlsx.

This commit is contained in:
Dan Dembinski
2019-07-15 12:59:24 -04:00
parent 1d29437189
commit 2bb9baecf6
2 changed files with 30 additions and 14 deletions

View File

@@ -1,6 +1,7 @@
from app import app
from flask import render_template, request, redirect, url_for
from flask import render_template, request, redirect, url_for, send_file
from main import *
import datetime
@app.route('/')
@app.route('/index')
@@ -34,6 +35,16 @@ def runReport():
ws = ClientConfig[9]
ws2 = ClientConfig[10]
ticket = Obtain_Ticket(SF_URL, SF_HOST)
Run_Report(ticket, SF_URL, SF_HOST, REPORT_FIELDS, wb, ws, ws2, DETAIL_REPORT_FIELDS, summary_columnformat, headers[0],
detail_columnformat, detail_headers[0])
return(str(client),SF_URL,SF_HOST,REPORT_FIELDS,DETAIL_REPORT_FIELDS,summary_columnformat,headers,detail_columnformat,detail_headers,wb, ws, ws2 )
Release_Ticket(ticket, SF_URL, SF_HOST)
date = datetime.datetime.now()
filename = str(client) + str(date) + "_report.xlsx"
return send_file('report.xlsx', as_attachment=True, attachment_filename = filename)
#return(str(client),SF_URL,SF_HOST,REPORT_FIELDS,DETAIL_REPORT_FIELDS,summary_columnformat,headers,detail_columnformat,detail_headers,wb, ws, ws2 )

25
main.py
View File

@@ -26,7 +26,7 @@ def Obtain_Ticket(URL, HOST):
temp1 = response.split('<ObtainUserTicketResult>')
temp2 = temp1[1].split('</ObtainUserTicketResult>')
ticket = temp2[0]
print("got ticket: " + ticket)
#print("got ticket: " + ticket)
return ticket
def Release_Ticket(ticket, URL, HOST):
@@ -40,7 +40,7 @@ def Release_Ticket(ticket, URL, HOST):
</soap12:Envelope>"""
headers = {'Host': HOST, 'Content-Type': 'application/soap+xml; charset=utf-8', 'Content-Length': 'length'}
response = requests.post(url=URL, data=ReleaseTicket, headers=headers).text
print("released ticket "+ticket)
#("released ticket "+ticket)
def Run_Report(ticket, URL, HOST, REPORT_FIELDS, wb, ws, ws2, DETAIL_REPORT_FIELDS, summary_columnFormat, summary_SSheader, detail_columnFormat, detail_SSheader):
@@ -277,7 +277,7 @@ def loadClients():
def GetClientConfig(Client):
SF_URL = []
SF_URL = ""
CLIENT_SUMMARY_TAB = []
client_headers = []
SUMMARY_TAB = []
@@ -307,13 +307,17 @@ def GetClientConfig(Client):
for w in y.find_all('client'):
for x in w.find_all('name'):
if x.text == Client:
SF_URL = x.find('storefrontapiurl')
print("SF_URL" SF_URL)
# Get Storefront Host URL
for z in w.find('storefrontapiurl'):
print(SF_URL)
SF_URL = z
#SF_URL = "http://diabetes-storefront.gli.us.com/store/storefrontapi.asmx"
temp1 = SF_URL.split('://')
temp2 = temp1[1].split('/')
SF_HOST = (temp2[0])
# Get Storefront Host URL
# Get Monthly Report Summary Fields
for w in y.find_all('client'):
for x in w.find_all('name'):
@@ -369,7 +373,8 @@ def GetClientConfig(Client):
for z in g.find_all('columnformat'):
CLIENT_COLUMN_FORMAT.append(z.text)
summary_columnformat = dict.fromkeys(headers)
summary_columnformat = dict.fromkeys(headers[0])
# set Summary Column Types Header Dictionary
count = 0
for key in summary_columnformat:
@@ -388,7 +393,7 @@ def GetClientConfig(Client):
detail_columnformat = dict.fromkeys(detail_headers)
detail_columnformat = dict.fromkeys(detail_headers[0])
# set Detail Column Types Header Dictionary
count = 0
for key in detail_columnformat:
@@ -400,10 +405,10 @@ def GetClientConfig(Client):
wb = workbook.Workbook()
ws = wb.active
ws.title = "Order Summary"
ws.append(headers)
ws.append(headers[0])
ws2 = wb.create_sheet("Item Detail")
ws2.append(detail_headers)
ws2.append(detail_headers[0])
ClientConfig = [SF_URL, SF_HOST, REPORT_FIELDS, DETAIL_REPORT_FIELDS, summary_columnformat, headers, detail_columnformat, detail_headers, wb, ws, ws2]