MCPcopy Index your code
hub / github.com/cli/cli / AssetsFromArgs

Function AssetsFromArgs

pkg/cmd/release/shared/upload.go:39–76  ·  view source on GitHub ↗
(args []string)

Source from the content-addressed store, hash-verified

37}
38
39func AssetsFromArgs(args []string) (assets []*AssetForUpload, err error) {
40 labeledArgs, unlabeledArgs := cmdutil.Partition(args, func(arg string) bool {
41 return strings.Contains(arg, "#")
42 })
43
44 args, err = cmdutil.GlobPaths(unlabeledArgs)
45 if err != nil {
46 return nil, err
47 }
48
49 args = append(args, labeledArgs...)
50
51 for _, arg := range args {
52 var label string
53 fn := arg
54 if idx := strings.IndexRune(arg, '#'); idx > 0 {
55 fn = arg[0:idx]
56 label = arg[idx+1:]
57 }
58
59 var fi os.FileInfo
60 fi, err = os.Stat(fn)
61 if err != nil {
62 return
63 }
64
65 assets = append(assets, &AssetForUpload{
66 Open: func() (io.ReadCloser, error) {
67 return os.Open(fn)
68 },
69 Size: fi.Size(),
70 Name: fi.Name(),
71 Label: label,
72 MIMEType: typeForFilename(fi.Name()),
73 })
74 }
75 return
76}
77
78func typeForFilename(fn string) string {
79 ext := fileExt(fn)

Callers 2

NewCmdUploadFunction · 0.92
NewCmdCreateFunction · 0.92

Calls 7

PartitionFunction · 0.92
GlobPathsFunction · 0.92
typeForFilenameFunction · 0.85
ContainsMethod · 0.80
OpenMethod · 0.80
SizeMethod · 0.65
NameMethod · 0.65

Tested by

no test coverage detected