MCPcopy
hub / github.com/Jguer/yay / handlePackageVote

Function handlePackageVote

vote.go:23–60  ·  view source on GitHub ↗
(ctx context.Context,
	targets []string, aurClient aur.QueryClient, logger *text.Logger,
	voteClient *vote.Client, upvote bool,
)

Source from the content-addressed store, hash-verified

21}
22
23func handlePackageVote(ctx context.Context,
24 targets []string, aurClient aur.QueryClient, logger *text.Logger,
25 voteClient *vote.Client, upvote bool,
26) error {
27 infos, err := aurClient.Get(ctx, &aur.Query{
28 Needles: targets,
29 By: aur.Name,
30 })
31 if err != nil {
32 return err
33 }
34
35 if len(infos) == 0 {
36 logger.Println(gotext.Get(" there is nothing to do"))
37 return nil
38 }
39
40 for i := range infos {
41 var err error
42 if upvote {
43 err = voteClient.Vote(ctx, infos[i].PackageBase)
44 } else {
45 err = voteClient.Unvote(ctx, infos[i].PackageBase)
46 }
47
48 if err != nil {
49 if errors.Is(err, vote.ErrNoCredentials) {
50 return errors.New(
51 gotext.Get("%s: please set AUR_USERNAME and AUR_PASSWORD environment variables for voting",
52 err.Error()))
53 }
54
55 return &ErrAURVote{inner: err, pkgName: infos[i].Name}
56 }
57 }
58
59 return nil
60}

Callers 2

handleWebFunction · 0.85

Calls 3

PrintlnMethod · 0.80
GetMethod · 0.65
ErrorMethod · 0.45

Tested by 1