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

app = sys.argv[1]
isPddOd = (app == 'pdd-od')
isPddSp = (app == 'pdd-sp')
isIntra = (sys.argv[2] == 'intra')
mode = sys.argv[4]
pubEnv = sys.argv[3]

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

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

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

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

localPwdFile = '/Users/tangjianhui/Documents/publish/tjds1.passwd'

localAppsPath  = CliTool.workspace()
appDir = 'pdd-order.git' if isPddOd is True else 'pdd.git'
localSrc = localAppsPath + appDir + '/'

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

sshCmdTpl = 'rsync -%s --delay-updates --del --stats [%s] -e ssh' + CliTool.excludeFile() + localSrc + ' www@%s:/alidata/%s/'

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