From 0a5b75c69d019af6567d33b6efb5834e6ae98071 Mon Sep 17 00:00:00 2001 From: Tom Victor Date: Thu, 8 Jun 2023 23:09:49 +0200 Subject: [PATCH] zip download [WIP] --- cmd/app.go | 2 +- cmd/init.go | 31 +++++++++++++++++++++---------- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/cmd/app.go b/cmd/app.go index 7f9e15b..bd74a1b 100644 --- a/cmd/app.go +++ b/cmd/app.go @@ -1,5 +1,5 @@ /* -Copyright © 2023 NAME HERE +Copyright © 2023 NAME HERE */ package cmd diff --git a/cmd/init.go b/cmd/init.go index 59a04db..d80359b 100644 --- a/cmd/init.go +++ b/cmd/init.go @@ -5,11 +5,10 @@ package cmd import ( "fmt" - "log" - "os" - "os/exec" - "github.com/spf13/cobra" + "io" + "net/http" + "os" ) var projectTemplateName = "template" @@ -39,16 +38,28 @@ type Project struct { } func (p *Project) Create() { - gorfTemplateUrl := fmt.Sprintf("https://github.com/go-gorf/%v.git", projectTemplateName) - out, err := exec.Command("git", "clone", gorfTemplateUrl).Output() + specUrl := "https://github.com/go-gorf/template/archive/refs/heads/main.zip" + resp, err := http.Get(specUrl) if err != nil { - log.Fatal(err) + fmt.Printf("err: %s", err) } - err = os.Rename(projectTemplateName, p.Name) + + defer resp.Body.Close() + fmt.Println("status", resp.Status) + if resp.StatusCode != 200 { + return + } + + // Create the file + out, err := os.Create(fmt.Sprintf("%s.zip", p.Name)) if err != nil { - log.Fatal(err) + fmt.Printf("err: %s", err) } - fmt.Println(string(out)) + defer out.Close() + + // Write the body to file + _, err = io.Copy(out, resp.Body) + fmt.Printf("err: %s", err) } func CreateNewGorfProject(name string) {