def update_3_resend_email(): os.chdir(site_path) st = pysvn.st("") #更新文件列表 if pywincmds.web_check(sit_url, site_keyword, inteveral_time, web_decode): #三段启动成功 svn_revision = pysvn.py_get_svn_info_revision(pysvn.info(co_path, username, password)) content = "更新包url:" + svn_url + "\n" + "更新包版本:" + svn_revision + "\n\n" content = content + "三段差异内容:" + "\n" content = content + '\n'.join(st).strip() content = content + "\n" + "详情见:" + "\n" + log_url title = site_name + "三段更新成功,请测试,谢谢!" #邮件 pyemail.send(to_list, title, content, [])
def update_3(flag): ''' py_file需要全局变量, pyfile不能在co_path内 co_path为更新包路径检出位置 py_file为更新文件列表存放文件 ''' global svn_revision pysvn.up("HEAD", site_path, username_online, password_online) if os.path.exists(co_path): pywincmds.del_dir(co_path) pysvn.co(svn_url, svn_revision, co_path, username, password) list_tree = pysvn.list_agile('svn list -R', svn_url, username, password) for i in range(0,len(list_tree)): list_tree[i] = list_tree[i].lower().strip().rstrip("/") list_tree_actual = [] pywincmds.py_write_svn_message_to_file(svn_url, url_file) pywincmds.py_robocopy(co_path, site_path, '.svn _svn', '') os.chdir(site_path) st = pysvn.st("") #更新文件列表 #使用svn list url和svn st产生列表的分隔符不一致,下面的方法只适用于windows for item in st: try: if list_tree.index(item.strip().split()[-1].strip().replace("\\", "/").lower()) > -1: list_tree_actual.append(item.strip().split()[-1].strip().replace("\\", "/")) except: pass if len(list_tree_actual) == 0: print("无更新内容!") exit(1) list_str = '\n'.join(list_tree_actual).strip() pywincmds.py_write_svn_message_to_file(list_str, changelist) if flag: pywincmds.restart_app_pool(workspace + os.sep + "sbp", apppool) if pywincmds.web_check(sit_url, site_keyword, inteveral_time, web_decode): #三段启动成功 svn_revision = pysvn.py_get_svn_info_revision(pysvn.info(co_path, username, password)) content = "更新包url:" + svn_url + "\n" + "更新包版本:" + svn_revision + "\n\n" content = content + "三段差异内容:" + "\n" content = content + '\n'.join(st).strip() content = content + "\n" + "详情见:" + "\n" + log_url title = site_name + "三段更新成功,请测试,谢谢!" #邮件 pyemail.send(to_list, title, content, [])