@@ -19,7 +19,6 @@ import (
19
19
"context"
20
20
"fmt"
21
21
"net/url"
22
- "os"
23
22
"strings"
24
23
"sync"
25
24
@@ -490,7 +489,7 @@ func UpdateLibrariesIndex(ctx context.Context, req *rpc.UpdateLibrariesIndexRequ
490
489
}
491
490
492
491
// UpdateIndex FIXMEDOC
493
- func UpdateIndex (ctx context.Context , req * rpc.UpdateIndexRequest , downloadCB rpc.DownloadProgressCB , downloadResultCB rpc. DownloadResultCB ) error {
492
+ func UpdateIndex (ctx context.Context , req * rpc.UpdateIndexRequest , downloadCB rpc.DownloadProgressCB ) error {
494
493
if instances .GetInstance (req .GetInstance ().GetId ()) == nil {
495
494
return & arduino.InvalidInstanceError {}
496
495
}
@@ -504,14 +503,12 @@ func UpdateIndex(ctx context.Context, req *rpc.UpdateIndexRequest, downloadCB rp
504
503
505
504
failed := false
506
505
for _ , u := range urls {
507
- logrus . Info ( "URL: " , u )
506
+ downloadCB ( rpc . NewDownloadProgressStart ( u , tr ( "Downloading index: %s " , u )) )
508
507
URL , err := utils .URLParse (u )
509
508
if err != nil {
510
509
logrus .Warnf ("unable to parse additional URL: %s" , u )
511
- downloadResultCB (& rpc.DownloadResult {
512
- Url : u ,
513
- Error : fmt .Sprintf ("%s: %v" , tr ("Unable to parse URL" ), err ),
514
- })
510
+ msg := fmt .Sprintf ("%s: %v" , tr ("Unable to parse URL" ), err )
511
+ downloadCB (rpc .NewDownloadProgressEnd (false , msg ))
515
512
failed = true
516
513
continue
517
514
}
@@ -521,47 +518,27 @@ func UpdateIndex(ctx context.Context, req *rpc.UpdateIndexRequest, downloadCB rp
521
518
if URL .Scheme == "file" {
522
519
path := paths .New (URL .Path )
523
520
if _ , err := packageindex .LoadIndexNoSign (path ); err != nil {
524
- downloadResultCB (& rpc.DownloadResult {
525
- Url : u ,
526
- Error : fmt .Sprintf ("%s: %v" , tr ("Invalid package index in %s" , path ), err ),
527
- })
521
+ msg := fmt .Sprintf ("%s: %v" , tr ("Invalid package index in %s" , path ), err )
522
+ downloadCB (rpc .NewDownloadProgressEnd (false , msg ))
528
523
failed = true
529
- continue
524
+ } else {
525
+ downloadCB (rpc .NewDownloadProgressEnd (true , "" ))
530
526
}
531
-
532
- fi , _ := os .Stat (path .String ())
533
- downloadCB (& rpc.DownloadProgress {
534
- File : tr ("Downloading index: %s" , path .Base ()),
535
- TotalSize : fi .Size (),
536
- })
537
- downloadCB (& rpc.DownloadProgress {Completed : true })
538
- downloadResultCB (& rpc.DownloadResult {
539
- Url : u ,
540
- Successful : true ,
541
- })
542
527
continue
543
528
}
544
529
545
- indexResource := resources.IndexResource {
546
- URL : URL ,
547
- }
530
+ indexResource := resources.IndexResource {URL : URL }
548
531
if strings .HasSuffix (URL .Host , "arduino.cc" ) && strings .HasSuffix (URL .Path , ".json" ) {
549
532
indexResource .SignatureURL , _ = url .Parse (u ) // should not fail because we already parsed it
550
533
indexResource .SignatureURL .Path += ".sig"
551
534
}
552
535
if err := indexResource .Download (indexpath , downloadCB ); err != nil {
553
- downloadResultCB (& rpc.DownloadResult {
554
- Url : u ,
555
- Error : err .Error (),
556
- })
536
+ downloadCB (rpc .NewDownloadProgressEnd (false , err .Error ()))
557
537
failed = true
558
- continue
538
+ } else {
539
+ downloadCB (rpc .NewDownloadProgressEnd (true , "" ))
559
540
}
560
-
561
- downloadResultCB (& rpc.DownloadResult {
562
- Url : u ,
563
- Successful : true ,
564
- })
541
+ continue
565
542
}
566
543
567
544
if failed {
@@ -571,17 +548,13 @@ func UpdateIndex(ctx context.Context, req *rpc.UpdateIndexRequest, downloadCB rp
571
548
}
572
549
573
550
// UpdateCoreLibrariesIndex updates both Cores and Libraries indexes
574
- func UpdateCoreLibrariesIndex (ctx context.Context , req * rpc.UpdateCoreLibrariesIndexRequest , downloadCB rpc.DownloadProgressCB , downloadResultCB rpc.DownloadResultCB ) error {
575
- err := UpdateIndex (ctx , & rpc.UpdateIndexRequest {
576
- Instance : req .Instance ,
577
- }, downloadCB , downloadResultCB )
551
+ func UpdateCoreLibrariesIndex (ctx context.Context , req * rpc.UpdateCoreLibrariesIndexRequest , downloadCB rpc.DownloadProgressCB ) error {
552
+ err := UpdateIndex (ctx , & rpc.UpdateIndexRequest {Instance : req .Instance }, downloadCB )
578
553
if err != nil {
579
554
return err
580
555
}
581
556
582
- err = UpdateLibrariesIndex (ctx , & rpc.UpdateLibrariesIndexRequest {
583
- Instance : req .Instance ,
584
- }, downloadCB )
557
+ err = UpdateLibrariesIndex (ctx , & rpc.UpdateLibrariesIndexRequest {Instance : req .Instance }, downloadCB )
585
558
if err != nil {
586
559
return err
587
560
}
0 commit comments