MCPcopy Create free account
hub / github.com/openclaw/gogcli / Run

Method Run

internal/cmd/sheets_table.go:74–119  ·  view source on GitHub ↗
(ctx context.Context, flags *RootFlags)

Source from the content-addressed store, hash-verified

72}
73
74func (c *SheetsTableGetCmd) Run(ctx context.Context, flags *RootFlags) error {
75 u := ui.FromContext(ctx)
76 account, err := requireAccount(flags)
77 if err != nil {
78 return err
79 }
80
81 spreadsheetID := normalizeGoogleID(strings.TrimSpace(c.SpreadsheetID))
82 in := strings.TrimSpace(c.TableID)
83 if spreadsheetID == "" {
84 return usage("empty spreadsheetId")
85 }
86 if in == "" {
87 return usage("empty tableId")
88 }
89
90 svc, err := sheetsService(ctx, account)
91 if err != nil {
92 return err
93 }
94
95 tables, err := fetchSpreadsheetTables(ctx, svc, spreadsheetID)
96 if err != nil {
97 return err
98 }
99 table, found, err := resolveSheetsTable(in, tables)
100 if err != nil {
101 return err
102 }
103 if !found {
104 return usagef("unknown table %q", in)
105 }
106
107 if outfmt.IsJSON(ctx) {
108 return outfmt.WriteJSON(ctx, stdoutWriter(ctx), map[string]any{"table": table})
109 }
110
111 u.Out().Linef("name\t%s", table.Name)
112 u.Out().Linef("id\t%s", table.TableID)
113 u.Out().Linef("sheet\t%s", table.SheetTitle)
114 u.Out().Linef("a1\t%s", table.A1)
115 for _, col := range table.Columns {
116 u.Out().Linef("column\t%d\t%s\t%s", col.ColumnIndex, col.ColumnName, col.ColumnType)
117 }
118 return nil
119}
120
121type SheetsTableCreateCmd struct {
122 SpreadsheetID string `arg:"" name:"spreadsheetId" help:"Spreadsheet ID"`

Callers

nothing calls this directly

Calls 13

FromContextFunction · 0.92
IsJSONFunction · 0.92
WriteJSONFunction · 0.92
requireAccountFunction · 0.85
normalizeGoogleIDFunction · 0.85
usageFunction · 0.85
sheetsServiceFunction · 0.85
fetchSpreadsheetTablesFunction · 0.85
resolveSheetsTableFunction · 0.85
usagefFunction · 0.85
stdoutWriterFunction · 0.85
LinefMethod · 0.80

Tested by

no test coverage detected