网络编程

当前位置:永利402游戏网站-永利402com官方网站 > 网络编程 > 调整和收缩 js/css 的工具

调整和收缩 js/css 的工具

来源:http://www.xtcsyb.com 作者:永利402游戏网站-永利402com官方网站 时间:2019-11-10 11:55
def zipDir(dirpath,outFullName):
    """
    压缩指定文件夹
    :param dirpath: 目标文件夹路径
    :param outFullName: 压缩文件保存路径+xxxx.zip
    :return: 无
    """
    zip = zipfile.ZipFile(outFullName,"w",zipfile.ZIP_DEFLATED)
    for path,dirnames,filenames in os.walk(dirpath):
        # 去掉目标跟路径,只对目标文件夹下边的文件及文件夹进行压缩
        fpath = path.replace(dirpath,'')

        for filename in filenames:
            zip.write(os.path.join(path,filename),os.path.join(fpath,filename))
    zip.close()

永利402游戏网站,本次压缩采用 yui compress (2.4.8)

EMAIL功能实现:

解压附件中的文件,直接在当前文件夹(包括子文件夹)中即可完成对js/css文件的压缩

 

最近检测服务器,发现js/css文件都没有压缩过,动手解决此问题先。

 

 文件地址: 

 

压缩脚本:

3.配置文件config.yaml

#!/bin/sh
echo "###########################"
echo "---------------------------"
echo "begin to compress JS file."
for file in `find . -name "*.js"`
do
echo "Compressing $file …"
java -jar yuicompressor-2.4.8.jar -type js -o $file $file
done
echo "compress js file compeleted."
echo "---------------------------"

echo "begin to compress css file."
for file in `find . -name "*.css"`
do
echo "Compressing $file …"
java -jar yuicompressor-2.4.8.jar -type css -o $file $file
done
echo "compress CSS file compeleted."
echo "---------------------------" 
    Smtp_Server: smtp.exmail.qq.com
    Smtp_Sender: xxxx@163.com
    Password: xxxxxx
    Msg_Title: UI自动化测试结果
    Receivers: ['xxxx@126.com']  #收件人
    From: 自动化测试系统
    To: 测试组

1.发送EMAIL带附件,并且带压缩文件夹做为附件

#_*_coding:utf-8_*_

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.header import Header
from email import encoders
import time
import yaml,os,base64
from pos.lib import gl,scripts


class EmailClass(object):
    def __init__(self):
        self.curDateTime = str(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())) #当前日期时间
        self.config = scripts.getYamlfield(gl.configFile) #配置文件路径
        self.sender = self.config['EMAIL']['Smtp_Sender'] # 从配置文件获取,发件人
        self.receivers = self.config['EMAIL']['Receivers']  # 从配置文件获取,接收人
        self.msg_title = self.config['EMAIL']['Msg_Title'] #从配置文件获取,邮件标题
        self.sender_server = self.config['EMAIL']['Smtp_Server'] #从配置文件获取,发送服务器
        self.From = self.config['EMAIL']['From']
        self.To = self.config['EMAIL']['To']

    '''
    配置邮件内容
    '''
    @property
    def setMailContent(self):
        print self.receivers
        msg = MIMEMultipart()
        msg['From'] = Header(self.From,'utf-8')
        msg['To'] = self.To
        msg['Subject'] = Header('%s%s'%(self.msg_title,self.curDateTime),'utf-8')

        #附件路径
        dirpath = gl.reportPath
        zipfile = os.path.join(os.path.dirname(dirpath), 'report.zip')
        reportfile = os.path.join(gl.reportPath, 'Report.html')
        scripts.zipDir(dirpath,zipfile) #压缩报告
        #增加邮件内容为html
        fp = open(reportfile, 'rb')
        reportHtmlText = fp.read()
        msg.attach(MIMEText(reportHtmlText,'html','utf-8'))
        fp.close()

        #增加附件
        html = self.addAttach(zipfile,filename='Report%s.zip'%self.curDateTime) #自动化测试报告附件
        msg.attach(html)

        return msg


    '''
    增加附件
    '''
    def addAttach(self,apath,filename='Report.html'):
        with open(apath, 'rb') as fp:
            attach = MIMEBase('application','octet-stream')
            attach.set_payload(fp.read())
            attach.add_header('Content-Disposition', 'attachment', filename=filename)
            encoders.encode_base64(attach)
            fp.close()
            return attach


    '''
    发送电子邮件
    '''
    def sendEmail(self,message):
        try:
            smtpObj = smtplib.SMTP()
            smtpObj.connect(self.sender_server,25)
            smtpObj.login(self.sender,self.config['EMAIL']['Password'])
            smtpObj.sendmail(self.sender,self.receivers , message.as_string())
            smtpObj.quit()
            print "邮件发送成功"
        except smtplib.SMTPException as ex:
            print "Error: 无法发送邮件.%s"%ex

    #发送调用
    @property
    def send(self):
        self.sendEmail(self.setMailContent)

if __name__=="__main__":
    EmailClass().send

2.压缩文件夹及文件代码:

 

本文由永利402游戏网站-永利402com官方网站发布于网络编程,转载请注明出处:调整和收缩 js/css 的工具

关键词: