MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / scriptTargetDataset

Function scriptTargetDataset

app/src/AI/ToolDispatcher.cpp:1051–1087  ·  view source on GitHub ↗

* @brief Resolves the dataset that a transform-apply call should target. */

Source from the content-addressed store, hash-verified

1049 * @brief Resolves the dataset that a transform-apply call should target.
1050 */
1051static QJsonObject scriptTargetDataset(const QJsonObject& args)
1052{
1053 if (args.contains(QStringLiteral("groupId")) && args.contains(Keys::DatasetId)) {
1054 QJsonObject dataset;
1055 dataset[QStringLiteral("groupId")] = args.value(QStringLiteral("groupId")).toInt();
1056 dataset[Keys::DatasetId] = args.value(Keys::DatasetId).toInt();
1057 QJsonObject out;
1058 out[QStringLiteral("ok")] = true;
1059 out[QStringLiteral("dataset")] = dataset;
1060 return out;
1061 }
1062
1063 QJsonObject dsArgs;
1064 if (args.contains(Keys::UniqueId))
1065 dsArgs[Keys::UniqueId] = args.value(Keys::UniqueId).toInt();
1066
1067 if (!args.value(QStringLiteral("dataset")).toString().isEmpty()) {
1068 const auto datasetName = args.value(QStringLiteral("dataset")).toString();
1069 if (datasetName.contains(QLatin1Char('/')))
1070 dsArgs[QStringLiteral("path")] = datasetName;
1071 else
1072 dsArgs[QStringLiteral("title")] = datasetName;
1073 }
1074 if (args.contains(QStringLiteral("groupId")))
1075 dsArgs[QStringLiteral("groupId")] = args.value(QStringLiteral("groupId")).toInt();
1076
1077 if (dsArgs.isEmpty()) {
1078 QJsonObject out;
1079 out[QStringLiteral("ok")] = false;
1080 out[QStringLiteral("error")] = QStringLiteral("missing_dataset_target");
1081 out[QStringLiteral("hint")] =
1082 QStringLiteral("Pass groupId+datasetId, dataset path/title, or uniqueId.");
1083 return out;
1084 }
1085
1086 return resolveDataset(dsArgs);
1087}
1088
1089/**
1090 * @brief Picks the frame-parser dry-run command and seeds its inputs.

Callers 1

applyTransformScriptFunction · 0.85

Calls 4

resolveDatasetFunction · 0.85
isEmptyMethod · 0.80
containsMethod · 0.45
valueMethod · 0.45

Tested by

no test coverage detected