Add a __repr__ method to QgsMimeDataUtils::Uri

This commit is contained in:
Nyall Dawson 2018-11-05 20:01:59 +10:00
parent e7900a38cb
commit 82baff87d4
3 changed files with 22 additions and 1 deletions

View File

@ -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( "<QgsMimeDataUtils::Uri (%1): %2>" ).arg( sipCpp->providerKey, sipCpp->uri );
sipRes = PyUnicode_FromString( str.toUtf8().constData() );
%End
};
typedef QList<QgsMimeDataUtils::Uri> UriList;

View File

@ -87,6 +87,14 @@ class CORE_EXPORT QgsMimeDataUtils
QString uri;
QStringList supportedCrs;
QStringList supportedFormats;
#ifdef SIP_RUN
SIP_PYOBJECT __repr__();
% MethodCode
QString str = QStringLiteral( "<QgsMimeDataUtils::Uri (%1): %2>" ).arg( sipCpp->providerKey, sipCpp->uri );
sipRes = PyUnicode_FromString( str.toUtf8().constData() );
% End
#endif
};
typedef QList<QgsMimeDataUtils::Uri> UriList;

View File

@ -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__(), "<QgsError: dad you done wrong son>")
def testQgsMimeDataUri(self):
d = QgsMimeDataUtils.Uri()
d.uri = 'my_uri'
d.providerKey = 'my_provider'
self.assertEqual(d.__repr__(), "<QgsMimeDataUtils::Uri (my_provider): my_uri>")
if __name__ == "__main__":
unittest.main()