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

zk = sys.argv[1]
isNodeVideo = (zk in ['node-video'])

filePath = os.path.dirname(sys.argv[0]) + '/hosts-honor-s.txt'
ipsMap = CliTool.getIpsMap(filePath, True, 8875)

envList = CliTool.getEnvList(sys.argv[2], ipsMap, True)

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

mode = sys.argv[3]

argvNum = len(sys.argv)
if argvNum >= 5:
    timeout = sys.argv[4]
else:
    timeout = 60
timeout = str(timeout)

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

if isNodeVideo is True:
    zkFile = 'Zk.' + zk  + '.js'
elif zk in ['ai-ps', 'xiuxiu-node-api', 'node-video-v2']:
    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=' + timeout + ' --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)
