#!/usr/bin/env python3
# -*- coding:utf-8 -*-
from inc import CliTool
import sys, os

account = sys.argv[1]
zk = sys.argv[2]
envs = sys.argv[3]
mode = sys.argv[4]

isNodeVideoZk = (zk == 'node-video')

hostFile = {
    'dddz': 'hosts-honor-ddy-dz.txt',
    'ddms': 'hosts-honor-ddy-ms.txt',
    'ddtbk': 'hosts-honor-ddy-tbk.txt',
}.get(account, None)
if hostFile is None:
    print('主机文件不存在 error')
    sys.exit(1)
    
filePath = os.path.dirname(sys.argv[0]) + '/' + hostFile
ipsMap = CliTool.getIpsMap(filePath, True, 8875, 's')

envList = CliTool.getEnvList(envs, ipsMap, True)

ips = {}
for env in envList:
    ips = dict(ips, **ipsMap[env])


localPwdFile = '/home/porsche/publish/tjds2.passwd'

if isNodeVideoZk is True:
    zkFile = 'Zk.' + zk  + '.js'
elif zk in ['xiuxiu-node-api', 'ai-ps']:
    zkFile = 'Zk.' + zk  + '.json'
else:
    zkFile = 'Zk.' + zk  + '.inc'

localSrc = '/alidata/s/' + zkFile

cmdTpl = 'rsync -%s --delay-updates --del --stats --port=%s --password-file=' + localPwdFile + ' --timeout=120 --exclude=.gitmodules --exclude=.git --exclude=.svn --exclude=.buildpath --exclude=.project --exclude=.settings --exclude=.DS_Store --exclude=.gitignore ' + localSrc + ' root@%s::%s/' + zkFile


Ct = CliTool()
Ct.publish(ips, mode, cmdTpl)
