From 82baff87d4cb0d40a88e03912297d7096220fb07 Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Mon, 5 Nov 2018 20:01:59 +1000 Subject: [PATCH] Add a __repr__ method to QgsMimeDataUtils::Uri --- python/core/auto_generated/qgsmimedatautils.sip.in | 6 ++++++ src/core/qgsmimedatautils.h | 8 ++++++++ tests/src/python/test_python_repr.py | 9 ++++++++- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/python/core/auto_generated/qgsmimedatautils.sip.in b/python/core/auto_generated/qgsmimedatautils.sip.in index d73cea53116..dc78c23b411 100644 --- a/python/core/auto_generated/qgsmimedatautils.sip.in +++ b/python/core/auto_generated/qgsmimedatautils.sip.in @@ -71,6 +71,12 @@ Gets mesh layer from uri if possible, otherwise returns 0 and error is set QString uri; QStringList supportedCrs; QStringList supportedFormats; + + SIP_PYOBJECT __repr__(); +%MethodCode + QString str = QStringLiteral( "" ).arg( sipCpp->providerKey, sipCpp->uri ); + sipRes = PyUnicode_FromString( str.toUtf8().constData() ); +%End }; typedef QList UriList; diff --git a/src/core/qgsmimedatautils.h b/src/core/qgsmimedatautils.h index 192f376bd90..133e05419c4 100644 --- a/src/core/qgsmimedatautils.h +++ b/src/core/qgsmimedatautils.h @@ -87,6 +87,14 @@ class CORE_EXPORT QgsMimeDataUtils QString uri; QStringList supportedCrs; QStringList supportedFormats; + +#ifdef SIP_RUN + SIP_PYOBJECT __repr__(); + % MethodCode + QString str = QStringLiteral( "" ).arg( sipCpp->providerKey, sipCpp->uri ); + sipRes = PyUnicode_FromString( str.toUtf8().constData() ); + % End +#endif }; typedef QList UriList; diff --git a/tests/src/python/test_python_repr.py b/tests/src/python/test_python_repr.py index 38657ae6a16..76f2c85fbde 100644 --- a/tests/src/python/test_python_repr.py +++ b/tests/src/python/test_python_repr.py @@ -17,7 +17,8 @@ import qgis # NOQA from PyQt5.QtCore import QVariant from qgis.testing import unittest, start_app from qgis.core import QgsGeometry, QgsPoint, QgsPointXY, QgsCircle, QgsCircularString, QgsCompoundCurve,\ - QgsCurvePolygon, QgsEllipse, QgsLineString, QgsMultiCurve, QgsRectangle, QgsExpression, QgsField, QgsError + QgsCurvePolygon, QgsEllipse, QgsLineString, QgsMultiCurve, QgsRectangle, QgsExpression, QgsField, QgsError,\ + QgsMimeDataUtils start_app() @@ -125,6 +126,12 @@ class TestPython__repr__(unittest.TestCase): e = QgsError('you done wrong son', 'dad') self.assertEqual(e.__repr__(), "") + def testQgsMimeDataUri(self): + d = QgsMimeDataUtils.Uri() + d.uri = 'my_uri' + d.providerKey = 'my_provider' + self.assertEqual(d.__repr__(), "") + if __name__ == "__main__": unittest.main()