func (u *Updater) unpack(filename string) (string, error) { u.log.Debug("Unpack %s", filename) if !strings.HasSuffix(filename, ".zip") { u.log.Debug("File isn't compressed, so won't unzip: %q", filename) return filename, nil } unzipDestination := unzipDestination(filename) if _, ferr := os.Stat(unzipDestination); ferr == nil { u.log.Info("Removing existing unzip destination: %s", unzipDestination) err := os.RemoveAll(unzipDestination) if err != nil { return "", nil } } u.log.Info("Unzipping %q -> %q", filename, unzipDestination) err := zip.Unzip(filename, unzipDestination) if err != nil { u.log.Errorf("Don't know how to unpack: %s", filename) return "", err } return unzipDestination, nil }
func (u *Updater) unpack(filename string) (string, error) { u.log.Debug("unpack %s", filename) if !strings.HasSuffix(filename, ".zip") { u.log.Debug("File isn't compressed, so won't unzip: %q", filename) return filename, nil } unzipDestination := unzipDestination(filename) u.log.Info("Unzipping %q -> %q", filename, unzipDestination) err := zip.Unzip(filename, unzipDestination) if err != nil { return "", err } return unzipDestination, nil }