mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-05 00:09:32 -04:00
Show more detailed help for models in qgis_process
Include any examples, author and version information in help output
This commit is contained in:
parent
9b52cdc555
commit
8ceaf00f98
@ -805,13 +805,41 @@ int QgsProcessingExec::showAlgorithmHelp( const QString &inputId, bool useJson )
|
|||||||
if ( !useJson )
|
if ( !useJson )
|
||||||
{
|
{
|
||||||
std::cout << QStringLiteral( "%1 (%2)\n" ).arg( alg->displayName(), alg->id() ).toLocal8Bit().constData();
|
std::cout << QStringLiteral( "%1 (%2)\n" ).arg( alg->displayName(), alg->id() ).toLocal8Bit().constData();
|
||||||
|
|
||||||
std::cout << "\n----------------\n";
|
std::cout << "\n----------------\n";
|
||||||
std::cout << "Description\n";
|
std::cout << "Description\n";
|
||||||
std::cout << "----------------\n";
|
std::cout << "----------------\n";
|
||||||
|
|
||||||
|
if ( const QgsProcessingModelAlgorithm *model = dynamic_cast< const QgsProcessingModelAlgorithm * >( alg ) )
|
||||||
|
{
|
||||||
|
// show finer help content for models
|
||||||
|
const QVariantMap help = model->helpContent();
|
||||||
|
std::cout << help.value( QStringLiteral( "ALG_DESC" ) ).toString().toLocal8Bit().constData() << '\n';
|
||||||
|
|
||||||
|
if ( !help.value( QStringLiteral( "ALG_CREATOR" ) ).toString().isEmpty() ||
|
||||||
|
!help.value( QStringLiteral( "ALG_VERSION" ) ).toString().isEmpty() )
|
||||||
|
std::cout << '\n';
|
||||||
|
|
||||||
|
if ( !help.value( QStringLiteral( "ALG_CREATOR" ) ).toString().isEmpty() )
|
||||||
|
std::cout << "Algorithm author:\t" << help.value( QStringLiteral( "ALG_CREATOR" ) ).toString().toLocal8Bit().constData() << '\n';
|
||||||
|
if ( !help.value( QStringLiteral( "ALG_VERSION" ) ).toString().isEmpty() )
|
||||||
|
std::cout << "Algorithm version:\t" << help.value( QStringLiteral( "ALG_VERSION" ) ).toString().toLocal8Bit().constData() << '\n';
|
||||||
|
|
||||||
|
if ( !help.value( QStringLiteral( "EXAMPLES" ) ).toString().isEmpty() )
|
||||||
|
{
|
||||||
|
std::cout << "\n----------------\n";
|
||||||
|
std::cout << "Examples\n";
|
||||||
|
std::cout << "----------------\n";
|
||||||
|
std::cout << help.value( QStringLiteral( "EXAMPLES" ) ).toString().toLocal8Bit().constData() << '\n';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
if ( !alg->shortDescription().isEmpty() )
|
if ( !alg->shortDescription().isEmpty() )
|
||||||
std::cout << alg->shortDescription().toLocal8Bit().constData() << '\n';
|
std::cout << alg->shortDescription().toLocal8Bit().constData() << '\n';
|
||||||
if ( !alg->shortHelpString().isEmpty() && alg->shortHelpString() != alg->shortDescription() )
|
if ( !alg->shortHelpString().isEmpty() && alg->shortHelpString() != alg->shortDescription() )
|
||||||
std::cout << alg->shortHelpString().toLocal8Bit().constData() << '\n';
|
std::cout << alg->shortHelpString().toLocal8Bit().constData() << '\n';
|
||||||
|
}
|
||||||
|
|
||||||
std::cout << "\n----------------\n";
|
std::cout << "\n----------------\n";
|
||||||
std::cout << "Arguments\n";
|
std::cout << "Arguments\n";
|
||||||
|
@ -402,6 +402,10 @@ class TestQgsProcessExecutable(unittest.TestCase):
|
|||||||
self.assertFalse(err)
|
self.assertFalse(err)
|
||||||
self.assertEqual(rc, 0)
|
self.assertEqual(rc, 0)
|
||||||
self.assertIn('model description', output.lower())
|
self.assertIn('model description', output.lower())
|
||||||
|
self.assertIn('author of model', output.lower())
|
||||||
|
self.assertIn('version 2.1', output.lower())
|
||||||
|
self.assertIn('examples', output.lower())
|
||||||
|
self.assertIn('this is an example of running the model', output.lower())
|
||||||
|
|
||||||
def testModelRun(self):
|
def testModelRun(self):
|
||||||
output_file = self.TMP_DIR + '/model_output.shp'
|
output_file = self.TMP_DIR + '/model_output.shp'
|
||||||
|
12
tests/testdata/test_model.model3
vendored
12
tests/testdata/test_model.model3
vendored
@ -71,7 +71,12 @@
|
|||||||
<Option name="designerParameterValues"/>
|
<Option name="designerParameterValues"/>
|
||||||
<Option name="groupBoxes"/>
|
<Option name="groupBoxes"/>
|
||||||
<Option name="help" type="Map">
|
<Option name="help" type="Map">
|
||||||
<Option name="ALG_DESC" type="QString" value="model description"/>
|
<Option name="ALG_CREATOR" type="QString" value="Author of model"/>
|
||||||
|
<Option name="ALG_DESC" type="QString" value="This is the model description"/>
|
||||||
|
<Option name="ALG_VERSION" type="QString" value="Version 2.1"/>
|
||||||
|
<Option name="EXAMPLES" type="QString" value="this is an example of running the model"/>
|
||||||
|
<Option name="HELP_URL" type="QString" value=""/>
|
||||||
|
<Option name="SHORT_DESCRIPTION" type="QString" value=""/>
|
||||||
</Option>
|
</Option>
|
||||||
<Option name="modelVariables"/>
|
<Option name="modelVariables"/>
|
||||||
<Option name="model_group" type="QString" value=""/>
|
<Option name="model_group" type="QString" value=""/>
|
||||||
@ -82,8 +87,10 @@
|
|||||||
<Option type="int" value="-1"/>
|
<Option type="int" value="-1"/>
|
||||||
</Option>
|
</Option>
|
||||||
<Option name="default" type="invalid"/>
|
<Option name="default" type="invalid"/>
|
||||||
|
<Option name="defaultGui" type="invalid"/>
|
||||||
<Option name="description" type="QString" value="FEATS"/>
|
<Option name="description" type="QString" value="FEATS"/>
|
||||||
<Option name="flags" type="int" value="0"/>
|
<Option name="flags" type="int" value="0"/>
|
||||||
|
<Option name="help" type="QString" value=""/>
|
||||||
<Option name="metadata"/>
|
<Option name="metadata"/>
|
||||||
<Option name="name" type="QString" value="FEATS"/>
|
<Option name="name" type="QString" value="FEATS"/>
|
||||||
<Option name="parameter_type" type="QString" value="source"/>
|
<Option name="parameter_type" type="QString" value="source"/>
|
||||||
@ -92,8 +99,10 @@
|
|||||||
<Option name="create_by_default" type="bool" value="true"/>
|
<Option name="create_by_default" type="bool" value="true"/>
|
||||||
<Option name="data_type" type="int" value="0"/>
|
<Option name="data_type" type="int" value="0"/>
|
||||||
<Option name="default" type="invalid"/>
|
<Option name="default" type="invalid"/>
|
||||||
|
<Option name="defaultGui" type="invalid"/>
|
||||||
<Option name="description" type="QString" value="CENTROIDS"/>
|
<Option name="description" type="QString" value="CENTROIDS"/>
|
||||||
<Option name="flags" type="int" value="0"/>
|
<Option name="flags" type="int" value="0"/>
|
||||||
|
<Option name="help" type="QString" value=""/>
|
||||||
<Option name="metadata"/>
|
<Option name="metadata"/>
|
||||||
<Option name="name" type="QString" value="native:centroids_1:CENTROIDS"/>
|
<Option name="name" type="QString" value="native:centroids_1:CENTROIDS"/>
|
||||||
<Option name="parameter_type" type="QString" value="sink"/>
|
<Option name="parameter_type" type="QString" value="sink"/>
|
||||||
@ -101,6 +110,7 @@
|
|||||||
<Option name="supports_non_file_outputs" type="bool" value="true"/>
|
<Option name="supports_non_file_outputs" type="bool" value="true"/>
|
||||||
</Option>
|
</Option>
|
||||||
</Option>
|
</Option>
|
||||||
|
<Option name="parameterOrder"/>
|
||||||
<Option name="parameters" type="Map">
|
<Option name="parameters" type="Map">
|
||||||
<Option name="FEATS" type="Map">
|
<Option name="FEATS" type="Map">
|
||||||
<Option name="color" type="QString" value=""/>
|
<Option name="color" type="QString" value=""/>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user