DownloadAndUnCompress.py
# -*- coding: utf-8 -*-
'''
Created on 2016年11月9日
@author: shenyf
'''
import ftplib
import socket
import os
import jenkins
import re
from jenkins import JenkinsException
import sys
import platform
import subprocess
import shutil
class DownloadAndUnCompress():
'''
downdload this pyuthon script example d:\test
move to d:\
use like this
D:\test> python DownloadAndUnCompress.py http://xxxxxx/job/xxxxxxxxxxxx forqa
this python script jenkins job url need to download type
result :
d:\-----forqa
-----forqa.tar.gz
'''
def __init__(self, args):
'''
constructor
'''
self.ftpHost = 'xxxxxx'
self.ftpUserName = 'xxxx'
self.ftpPasswd = 'xxxxx'
# ftp remote directory
self.remoteDir = None
self.localDir = None
# downloadType :forqa online offline
self.jenkinsHost, self.jobName, self.downloadType = self.__parse(args)
self.lastBuildNumber = None
self.server = self.__initJenkins(self.jenkinsHost)
self.OSType = self.checkOSType()
self.setLocalDir()
def __parse(self, args):
'''
解析命令行传入的参数
@param args: 传入的参数
@return: host, jobName, downloadType
'''
if len(sys.argv) < 3:
print '''Usage :
python DownloadAndUnCompress.py url type
url: jenkins job's url
type: forqa online offline'''
exit(0)
else:
url = args[1]
host = url.split('job')[0]
jobName = url.split('job')[1][1:]
# if last character is '/', then delete it
if jobName[-1:] == '/':
jobName = jobName[0:-1]
downloadType = args[2]
print host, jobName, downloadType
return host, jobName, downloadType
def __initJenkins(self, host):
&#