#coding=utf-8
”’
Created on Jun 6, 2017
@author: wb
”’
import wx
import os
import shutil
import sys
import os.path
import paramiko
from paramiko import sftp
import time
import WtgGetCfg
from WtgGetCfg import getCfg
from WtgGetCfg import saveCfg
def main():
global path
global rootdir # 指明被遍历的文件夹
global ToPath
global host
global user
global passwd
global mtime
# time.strftime(‘%Y_%m’,time.localtime(time.time()))
txtName = time.strftime(‘%Y_%m’,time.localtime(time.time()))
f = file(txtName, “a+”)
# history = f.read()
f.close()
print txtName
host,rootdir,user,passwd,lastTime,ToPath = getCfg()
if not os.path.isdir(ToPath):
os.makedirs(ToPath)
print ‘New Floder Successful’
mtime = lastTime
historyTime = time.strptime(lastTime,”%a %b %d %H:%M:%S %Y”)
print time.mktime(historyTime)
print host,rootdir,user,passwd,lastTime,ToPath
try:
t = paramiko.Transport((host,22))
t.connect(username=user, password=passwd)
sftp = paramiko.SFTPClient.from_transport(t)
except:
print “connection failed “
f2 = open(txtName, “a”)
name = “connection failed”+”\t”+time.strftime(‘%Y-%m-%d %H:%M:%S’,time.localtime(time.time()))+”\n”
f2.write(name)
f2.close()
# app = wx.PySimpleApp()
app = wx.App()
dlg = wx.MessageDialog(None, ‘connection failed’+”\n”+time.strftime(‘%Y-%m-%d %H:%M:%S’,time.localtime(time.time())),
‘Warning !’,
wx.OK | wx.ICON_INFORMATION
#wx.YES_NO | wx.NO_DEFAULT | wx.CANCEL | wx.ICON_INFORMATION
)
dlg.ShowModal()
dlg.Destroy()
return -1
for parent,dirnames,filenames in os.walk(u”+rootdir.encode(‘gbk’)): #三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字
f1 = open(txtName, “a”)
for filename in filenames: #输出文件信息
# print “parent is:” + parent
# print “filename is:” + filename
# print “the full name of the file is:” + os.path.join(parent,filename) #输出文件路径信息
mtime = time.ctime(os.path.getmtime(os.path.join(parent,filename)))
print mtime
nowTime = time.strptime(mtime,”%a %b %d %H:%M:%S %Y”)
print time.mktime(nowTime)
if nowTime > historyTime :
print filename
if sftp.put(os.path.join(parent,filename),filename):
shutil.copy (os.path.join(parent,filename), ToPath)
os.remove (os.path.join(parent,filename))
print ‘success’
name = filename +”\t”+”ok”+”\t”+time.strftime(‘%Y-%m-%d %H:%M:%S’,time.localtime(time.time()))+”\n”
f1.write(name)
else:
app = wx.App()
dlg = wx.MessageDialog(None, filename+’upload failed’,
‘Warning !’,
wx.OK | wx.ICON_INFORMATION
#wx.YES_NO | wx.NO_DEFAULT | wx.CANCEL | wx.ICON_INFORMATION
)
dlg.ShowModal()
dlg.Destroy()
print ‘be defeated’
print filename
name = filename +”\t”+”fail”+”\t”+time.strftime(‘%Y-%m-%d %H:%M:%S’,time.localtime(time.time()))+”\n”
f1.write(name)
# if filename in history:
else:
print ‘已经上传过’
#
saveCfg(mtime)
f1.close()
if __name__ == ‘__main__’:
main()