(cmd *cobra.Command, args []string)
| 157 | } |
| 158 | |
| 159 | func setMetaRun(cmd *cobra.Command, args []string) (rtnErr error) { |
| 160 | defer func() { |
| 161 | sendActivity("setmeta", rtnErr == nil) |
| 162 | }() |
| 163 | var jsonMeta map[string]interface{} |
| 164 | if setMetaJsonFilePath != "" { |
| 165 | var err error |
| 166 | jsonMeta, err = loadJSONFile(setMetaJsonFilePath) |
| 167 | if err != nil { |
| 168 | return err |
| 169 | } |
| 170 | } |
| 171 | |
| 172 | cmdMeta, err := parseMetaSets(args) |
| 173 | if err != nil { |
| 174 | return err |
| 175 | } |
| 176 | |
| 177 | // Merge JSON metadata with command-line metadata, with command-line taking precedence |
| 178 | var fullMeta map[string]any |
| 179 | if len(jsonMeta) > 0 { |
| 180 | fullMeta = simpleMergeMeta(jsonMeta, cmdMeta) |
| 181 | } else { |
| 182 | fullMeta = cmdMeta |
| 183 | } |
| 184 | if len(fullMeta) == 0 { |
| 185 | return fmt.Errorf("no metadata keys specified") |
| 186 | } |
| 187 | fullORef, err := resolveBlockArg() |
| 188 | if err != nil { |
| 189 | return err |
| 190 | } |
| 191 | |
| 192 | setMetaWshCmd := &wshrpc.CommandSetMetaData{ |
| 193 | ORef: *fullORef, |
| 194 | Meta: fullMeta, |
| 195 | } |
| 196 | err = wshclient.SetMetaCommand(RpcClient, *setMetaWshCmd, &wshrpc.RpcOpts{Timeout: 2000}) |
| 197 | if err != nil { |
| 198 | return fmt.Errorf("setting metadata: %v", err) |
| 199 | } |
| 200 | WriteStdout("metadata set\n") |
| 201 | return nil |
| 202 | } |
nothing calls this directly
no test coverage detected