Пример #1
0
func runCommand(commandName string, args []string, sessionObject session.Session, cmdFactory command.CommandFactory) bool {
	command := cmdFactory.CmdsByName[commandName]
	cmdFlags := cmdFactory.GetCommandFlags(command)
	flagValues := getFlagValues(command, cmdFlags, sessionObject, args)
	configs := cmdFactory.GetCommandConfigs(command, flagValues)
	if configs.Url == "" && configs.Query == "" && configs.Cookie == "" {
		help.HelpTemplate(cmdFactory.CmdsByName[commandName].Metadata())
		return true
	}
	continueFlag, cookie := command.Run(configs)
	if commandName == loginCommand && continueFlag {
		//set session object username
		sessionObject = setSessionUserName(cmdFlags, flagValues)
		sessionObject.Cookie = cookie
		success := writeSession(sessionObject)
		if success {
			fmt.Println("Your session details are stored.")
		} else {
			fmt.Println("Error occured while storing session!")
		}
	}
	return continueFlag
}