func (target *Target) DownloadAndWriteToFile(client *phraseapp.Client, localeFile *LocaleFile) error { downloadParams := new(phraseapp.LocaleDownloadParams) *downloadParams = target.Params.LocaleDownloadParams if downloadParams.FileFormat == nil { downloadParams.FileFormat = &localeFile.FileFormat } if Debug { fmt.Fprintln(os.Stderr, "Target file pattern:", target.File) fmt.Fprintln(os.Stderr, "Actual file path", localeFile.Path) fmt.Fprintln(os.Stderr, "LocaleID", localeFile.ID) fmt.Fprintln(os.Stderr, "ProjectID", target.ProjectID) fmt.Fprintln(os.Stderr, "FileFormat", downloadParams.FileFormat) fmt.Fprintln(os.Stderr, "ConvertEmoji", downloadParams.ConvertEmoji) fmt.Fprintln(os.Stderr, "IncludeEmptyTranslations", downloadParams.IncludeEmptyTranslations) fmt.Fprintln(os.Stderr, "KeepNotranslateTags", downloadParams.KeepNotranslateTags) fmt.Fprintln(os.Stderr, "Tag", downloadParams.Tag) fmt.Fprintln(os.Stderr, "FormatOptions", downloadParams.FormatOptions) } res, err := client.LocaleDownload(target.ProjectID, localeFile.ID, downloadParams) if err != nil { return err } err = ioutil.WriteFile(localeFile.Path, res, 0700) if err != nil { return err } return nil }
func (target *Target) setDownloadParams() *phraseapp.LocaleDownloadParams { downloadParams := new(phraseapp.LocaleDownloadParams) downloadParams.FileFormat = target.FileFormat params := target.Params if target.Params == nil { return downloadParams } format := params.FileFormat if format != "" { downloadParams.FileFormat = format } convertEmoji := params.ConvertEmoji if convertEmoji != nil { downloadParams.ConvertEmoji = convertEmoji } formatOptions := params.FormatOptions if formatOptions != nil { downloadParams.FormatOptions = formatOptions } includeEmptyTranslations := params.IncludeEmptyTranslations if includeEmptyTranslations != nil { downloadParams.IncludeEmptyTranslations = includeEmptyTranslations } keepNotranslateTags := params.KeepNotranslateTags if keepNotranslateTags != nil { downloadParams.KeepNotranslateTags = keepNotranslateTags } tag := params.Tag if tag != "" { downloadParams.Tag = &tag } return downloadParams }