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

isIntra = (sys.argv[1] == 'intra')
#编译node参数
isNmpbd = (sys.argv[3] == 'npmbd')

filePath = os.path.dirname(sys.argv[0]) + '/hosts-desktop.txt'
ipsMap = CliTool.getIpsMap(filePath, isIntra, 8873)

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

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

mode = sys.argv[3]
argvNum = len(sys.argv)

if isNmpbd is True and argvNum >= 6:
   timeout = sys.argv[5] 
elif argvNum >= 5 and isNmpbd is False:
    timeout = sys.argv[4] 
else:
    timeout = '120'

if isIntra is True:
    localPwdFile = '/home/porsche/publish/tjds1.passwd'
else:
    localPwdFile = '/Users/tangjianhui/Documents/publish/tjds1.passwd'

if isIntra is True:
    localSrc = '/alidata/www/dolphin/'
else:
    localSrc = CliTool.workspace() + 'dolphin.git/'

if isNmpbd:
    os.system('cd ' + localSrc + ' && rm -rf web/dist')
    res = os.popen('cd ' + localSrc + 'web && npm run build')
    outputStr = res.read() 
    print(outputStr)
    mode = sys.argv[4]


cmdTpl = 'rsync -%s --delay-updates --del --stats --port=%s --password-file=' + localPwdFile + ' --timeout=' + timeout + CliTool.excludeFile() + localSrc + ' www@%s::%s/'


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


