Skip to content

Commit d2a90f4

Browse files
committedAug 20, 2017
Fix conversion of direct vector layer parameters to python strings
1 parent f867b65 commit d2a90f4

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed
 

‎src/core/processing/qgsprocessingparameters.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2565,6 +2565,10 @@ QString QgsProcessingParameterFeatureSource::valueAsPythonString( const QVariant
25652565
}
25662566
}
25672567
}
2568+
else if ( QgsVectorLayer *layer = qobject_cast< QgsVectorLayer * >( qvariant_cast<QObject *>( value ) ) )
2569+
{
2570+
return layer->source().prepend( '\'' ).append( '\'' );
2571+
}
25682572

25692573
return value.toString().prepend( '\'' ).append( '\'' );
25702574
}

‎tests/src/core/testqgsprocessing.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3442,6 +3442,7 @@ void TestQgsProcessing::parameterFeatureSource()
34423442
QCOMPARE( def->valueAsPythonString( QVariant::fromValue( QgsProcessingFeatureSourceDefinition( QgsProperty::fromValue( "abc" ), true ) ), context ), QStringLiteral( "QgsProcessingFeatureSourceDefinition('abc', True)" ) );
34433443
QCOMPARE( def->valueAsPythonString( QVariant::fromValue( QgsProcessingFeatureSourceDefinition( QgsProperty::fromExpression( "\"abc\" || \"def\"" ) ) ), context ), QStringLiteral( "QgsProperty.fromExpression('\"abc\" || \"def\"')" ) );
34443444
QCOMPARE( def->valueAsPythonString( QVariant::fromValue( QgsProperty::fromExpression( "\"a\"=1" ) ), context ), QStringLiteral( "QgsProperty.fromExpression('\"a\"=1')" ) );
3445+
QCOMPARE( def->valueAsPythonString( QVariant::fromValue( v2 ), context ), QStringLiteral( "'%1'" ).arg( vector2 ) );
34453446

34463447
QVariantMap map = def->toVariantMap();
34473448
QgsProcessingParameterFeatureSource fromMap( "x" );

0 commit comments

Comments
 (0)
Please sign in to comment.