Commit 60d5fdf7b88f80f02c2f10a5e07ac9c35f0b9d15
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,6 +370,40 @@ BR_REGISTER(Transform, AnonymizeTransform) | ||
| 370 | 370 | ||
| 371 | /*! | 371 | /*! |
| 372 | * \ingroup transforms | 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 | * \brief Change the br::Template::file extension | 407 | * \brief Change the br::Template::file extension |
| 374 | * \author Josh Klontz \cite jklontz | 408 | * \author Josh Klontz \cite jklontz |
| 375 | */ | 409 | */ |