Skip to content

Commit

Permalink
Merge pull request #10 from KitsuneSemCalda/second_version
Browse files Browse the repository at this point in the history
Second version
  • Loading branch information
KitsuneSemCalda authored Jan 27, 2024
2 parents 50a8a06 + 0c12126 commit f1be91b
Show file tree
Hide file tree
Showing 6 changed files with 49 additions and 31 deletions.
3 changes: 0 additions & 3 deletions Network/downloadAnime.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
message "animatic-v2/Message"
"animatic-v2/Structures"
utils "animatic-v2/Utils"
"fmt"
"path/filepath"
)

Expand All @@ -26,8 +25,6 @@ func (d *Downloader) DownloadAll() {
return
}

fmt.Println(newDestPath)

videoExtractor.AnimeURL = d.EpList[i].URL
videoUrl := videoExtractor.ExtractVideoURL()

Expand Down
37 changes: 16 additions & 21 deletions Network/downloadVideo.go
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package network

import (
message "animatic-v2/Message"
"fmt"
"time"

"github.com/cavaliergopher/grab/v3"
"gopkg.in/cheggaaa/pb.v1"
)

type VideoDownloader struct {
Expand All @@ -15,31 +15,26 @@ type VideoDownloader struct {

func (vd *VideoDownloader) Download() {
client := grab.NewClient()
req, _ := grab.NewRequest(vd.DestPath+".mp4", vd.URL)
req.HTTPRequest.Header.Set("Connection", "keep-alive")

outputPath := vd.DestPath + ".mp4"
resp := client.Do(req)

request, _ := grab.NewRequest(outputPath, vd.URL)
resp := client.Do(request)
maxSizeInMB := int(resp.Size() / (1024 * 1024))
minSizeInMB := 10

t := time.NewTicker(500 * time.Millisecond)
defer t.Stop()

loop:
for {
select {
case <-t.C:
fmt.Printf("%.2f%%\r",
100*resp.Progress())
case <-resp.Done:
break loop
}
if maxSizeInMB < minSizeInMB {
maxSizeInMB = minSizeInMB
}

if err := resp.Err(); err != nil {
message.ErrorMessage(err.Error())
return
bar := pb.StartNew(maxSizeInMB)

fmt.Printf("Episode URL: %s \n", vd.URL)
for !resp.IsComplete() {
completedInMB := int(resp.Progress() * float64(maxSizeInMB))
bar.Set(completedInMB)
time.Sleep(time.Millisecond * 500)
}

message.SucessMessage(fmt.Sprintf("%s was downloaded to %s\n", vd.URL, vd.DestPath))
return
bar.Finish()
}
2 changes: 1 addition & 1 deletion Tui/selectAnime.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ func SelectAnimes(animes []Structures.Anime) (string, string, error) {

columns := []table.Column{
{Title: AnimeNameColumnTitle, Width: 50},
{Title: AnimeURLColumnTitle, Width: 50},
{Title: AnimeURLColumnTitle, Width: 180},
}

rows := make([]table.Row, 0, len(animes))
Expand Down
7 changes: 5 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,17 @@ require (
github.com/charmbracelet/bubbletea v0.25.0
github.com/charmbracelet/lipgloss v0.9.1
github.com/jarcoal/httpmock v1.3.1
gopkg.in/cheggaaa/pb.v1 v1.0.28
)

require (
github.com/andybalholm/cascadia v1.3.1 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 // indirect
github.com/fatih/color v1.16.0 // indirect
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
github.com/mattn/go-isatty v0.0.18 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-localereader v0.0.1 // indirect
github.com/mattn/go-runewidth v0.0.15 // indirect
github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b // indirect
Expand All @@ -26,7 +29,7 @@ require (
github.com/rivo/uniseg v0.4.3 // indirect
golang.org/x/net v0.7.0 // indirect
golang.org/x/sync v0.1.0 // indirect
golang.org/x/sys v0.12.0 // indirect
golang.org/x/sys v0.14.0 // indirect
golang.org/x/term v0.6.0 // indirect
golang.org/x/text v0.7.0 // indirect
)
16 changes: 12 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,17 @@ github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 h1:q2hJAaP1k2
github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=
github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE=
github.com/jarcoal/httpmock v1.3.1 h1:iUx3whfZWVf3jT01hQTO/Eo5sAYtB2/rqaUuOtpInww=
github.com/jarcoal/httpmock v1.3.1/go.mod h1:3yb8rc4BI7TCBhFY8ng0gjuLKJNquuDNiPaZjnENuYg=
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98=
github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4=
github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88=
github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk=
Expand Down Expand Up @@ -61,11 +66,12 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o=
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q=
golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
Expand All @@ -81,3 +87,5 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gopkg.in/cheggaaa/pb.v1 v1.0.28 h1:n1tBJnnK2r7g9OW2btFH91V92STTUevLXYFb8gy9EMk=
gopkg.in/cheggaaa/pb.v1 v1.0.28/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
15 changes: 15 additions & 0 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,26 @@ import (
tui "animatic-v2/Tui"
utils "animatic-v2/Utils"
"os"
"os/signal"
"path/filepath"
"runtime"
"syscall"
)

func main() {
sigs := make(chan os.Signal, 1)
signal.Notify(sigs, syscall.SIGTERM, syscall.SIGKILL)

go func() {
sig := <-sigs
switch sig {
case syscall.SIGTERM:
os.Exit(0)
case syscall.SIGKILL:
os.Exit(1)
}
}()

// If hasn't internet connection, break the program
if network.HasNetwork() == false {
message.ErrorMessage("Hasn't internet connection")
Expand Down

0 comments on commit f1be91b

Please sign in to comment.