Commit 60d5fdf7b88f80f02c2f10a5e07ac9c35f0b9d15

Authored by Scott Klum
1 parent fd001242

Added ElicitMetadata transform for... eliciting metadata

Showing 1 changed file with 34 additions and 0 deletions
openbr/plugins/misc.cpp
... ... @@ -370,6 +370,40 @@ BR_REGISTER(Transform, AnonymizeTransform)
370 370  
371 371 /*!
372 372 * \ingroup transforms
  373 + * \brief Name a point
  374 + * \author Scott Klum \cite sklum
  375 + */
  376 +class ElicitMetadataTransform : public UntrainableMetaTransform
  377 +{
  378 + Q_OBJECT
  379 +
  380 + Q_PROPERTY(QStringList metadata READ get_metadata WRITE set_metadata RESET reset_metadata STORED false)
  381 + BR_PROPERTY(QStringList, metadata, QStringList())
  382 +
  383 + void init()
  384 + {
  385 + Globals->setProperty("parallelism", "0"); // Can only work in single threaded mode
  386 + }
  387 +
  388 + void project(const Template &src, Template &dst) const
  389 + {
  390 + dst = src;
  391 +
  392 + QTextStream stream(stdin);
  393 +
  394 + foreach (const QString &key, metadata) {
  395 + qDebug() << "Specify a value for key: " << key;
  396 + QStringList values = stream.readLine().split(",");
  397 + if (values.size() > 1) dst.file.set(key, values); // Used for lists (e.g. age range)
  398 + else dst.file.set(key,values[0]);
  399 + }
  400 + }
  401 +};
  402 +
  403 +BR_REGISTER(Transform, ElicitMetadataTransform)
  404 +
  405 +/*!
  406 + * \ingroup transforms
373 407 * \brief Change the br::Template::file extension
374 408 * \author Josh Klontz \cite jklontz
375 409 */
... ...