MCPcopy Create free account
hub / github.com/aptly-dev/aptly / aptlyTaskRun

Function aptlyTaskRun

cmd/task_run.go:13–108  ·  view source on GitHub ↗
(cmd *commander.Command, args []string)

Source from the content-addressed store, hash-verified

11)
12
13func aptlyTaskRun(cmd *commander.Command, args []string) error {
14 var err error
15 var cmdList [][]string
16
17 if filename := cmd.Flag.Lookup("filename").Value.Get().(string); filename != "" {
18 var text string
19 cmdArgs := []string{}
20
21 var finfo os.FileInfo
22 if finfo, err = os.Stat(filename); os.IsNotExist(err) || finfo.IsDir() {
23 return fmt.Errorf("no such file, %s", filename)
24 }
25
26 fmt.Print("Reading file...\n\n")
27
28 var file *os.File
29 file, err = os.Open(filename)
30
31 if err != nil {
32 return err
33 }
34 defer func() { _ = file.Close() }()
35
36 scanner := bufio.NewScanner(file)
37
38 for scanner.Scan() {
39 text = strings.TrimSpace(scanner.Text()) + ","
40 parsedArgs, _ := shellwords.Parse(text)
41 cmdArgs = append(cmdArgs, parsedArgs...)
42 }
43
44 if err = scanner.Err(); err != nil {
45 return err
46 }
47
48 if len(cmdArgs) == 0 {
49 return fmt.Errorf("the file is empty")
50 }
51
52 cmdList = formatCommands(cmdArgs)
53 } else if len(args) == 0 {
54 var text string
55 cmdArgs := []string{}
56
57 fmt.Println("Please enter one command per line and leave one blank when finished.")
58
59 reader := bufio.NewReader(os.Stdin)
60 for {
61 fmt.Printf("> ")
62 text, _ = reader.ReadString('\n')
63 if text == "\n" {
64 break
65 }
66 text = strings.TrimSpace(text) + ","
67 parsedArgs, _ := shellwords.Parse(text)
68 cmdArgs = append(cmdArgs, parsedArgs...)
69 }
70

Callers

nothing calls this directly

Calls 15

formatCommandsFunction · 0.85
RunFunction · 0.85
RootCommandFunction · 0.85
CleanupContextFunction · 0.85
PrintMethod · 0.80
ReOpenDatabaseMethod · 0.80
ProgressMethod · 0.80
GetMethod · 0.65
StatMethod · 0.65
OpenMethod · 0.65
CloseMethod · 0.65
ScanMethod · 0.65

Tested by

no test coverage detected