Сценарий Python обрабатывает и генерирует результат в формате html. Я хочу это опубликовать в Интернете с помощью WSGI - PullRequest
0 голосов
/ 06 февраля 2020

как мне позвонить из myapp.wsgi моего существующего testreport.py. Процессы testreport.py БД извлекает результат в формате HTML.

myapp.wsgi

** testreport.py **

def getFormattedMailBody(data,color,frm,to):
    htable ="""<html>
        <b>Bp Report for %s to %s.</b> <br />
    <br /><table style=\"border: 3px solid olive;\" border=1>
    <tr style=\"background-color:%s; color:white;\">
        <td><b>S. No.</b></td><td><b> Business </b></td><td><b> DB Name / Tags </b></td><td><b> AWS ID </b></td><td><b> AWS DB InstanceIP </b></td><td><b> Backup / AMI ID </b></td><td><b> Start Date & Time
        </b></td><td><b> End Date & Time </b></td><td><b>Tentative Time Taken to backup AMI</b></td><td><b> Backup Copies </b></td><td><b>Group Name</b></td><td><b>Owner</b></td><td><b>Mailing List</b></td><td><b>Tagname</b></td></tr>"""%(frm,to,color)

    #htable=u'<table border="1" bordercolor=000000 cellspacing="0" cellpadding="1" style="table-layout:fixed;vertical-align:bottom;font-size:13px;font-family:verdana,sans,sans-serif;border-collapse:collapse;border:1px solid rgb(130,130,130)" >'
#    data[0] = ['<b>' + datetime.datetime.strptime(i, '%m/%d/%y %H:%M:%S') + u'</b>' for i in data[0]] 
    n=1
    for row in data:
            newrow = '<tr style=\"color:%s;\"><td>%s </td>'%(color,n)
        newrow = newrow + ''.join([u'<td align="right" style="padding:1px 4px">' + unicode(x) + u'</td>' for x in row])
        newrow += '</tr>'
        htable+= newrow
        n+=1
    htable += '</table></html>'
    return htable
def send_mail(grpname,rows,receiver):
        datefrom=dt.date.today()-dt.timedelta(days=2)
        dateto=dt.date.today()-dt.timedelta(days=1)
        html=getFormattedMailBody(rows,Color("green"), datefrom, dateto)
        print(html)

def query_mysql(procedurename):
        try:
                conn = mysql.connector.connect( host=hostname, port=port, database=database, user=username, password=password)
                cur = conn.cursor()
                cur.callproc(procedurename)
                cur.stored_results()
                for result in cur.stored_results():
                        global results1
                        results1 = result.fetchall()
                header1 = [i[0] for i in result.description]
                rows1 = [list(i) for i in results1]
                cur.close()
                conn.close()
                return rows1

        except Error as e:
                print(e)

def sort_on_groups(rows):

        groups=[]
        for row in rows:
                if row[9] not in groups:
                        groups.append(row[9])

        mail='i@.com'
        send_mail('In',rows,mail)

a=query_mysql('reportdata')

html=sort_on_groups(a)

Этот код показывает, как testreport при извлечении записи из базы данных и последующей ее обработке изменяет uin html

...