Skip to content

Commit 82baff8

Browse files
committedNov 5, 2018
Add a __repr__ method to QgsMimeDataUtils::Uri
1 parent e7900a3 commit 82baff8

File tree

3 files changed

+22
-1
lines changed

3 files changed

+22
-1
lines changed
 

‎python/core/auto_generated/qgsmimedatautils.sip.in

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,12 @@ Gets mesh layer from uri if possible, otherwise returns 0 and error is set
7171
QString uri;
7272
QStringList supportedCrs;
7373
QStringList supportedFormats;
74+
75+
SIP_PYOBJECT __repr__();
76+
%MethodCode
77+
QString str = QStringLiteral( "<QgsMimeDataUtils::Uri (%1): %2>" ).arg( sipCpp->providerKey, sipCpp->uri );
78+
sipRes = PyUnicode_FromString( str.toUtf8().constData() );
79+
%End
7480
};
7581
typedef QList<QgsMimeDataUtils::Uri> UriList;
7682

‎src/core/qgsmimedatautils.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,14 @@ class CORE_EXPORT QgsMimeDataUtils
8787
QString uri;
8888
QStringList supportedCrs;
8989
QStringList supportedFormats;
90+
91+
#ifdef SIP_RUN
92+
SIP_PYOBJECT __repr__();
93+
% MethodCode
94+
QString str = QStringLiteral( "<QgsMimeDataUtils::Uri (%1): %2>" ).arg( sipCpp->providerKey, sipCpp->uri );
95+
sipRes = PyUnicode_FromString( str.toUtf8().constData() );
96+
% End
97+
#endif
9098
};
9199
typedef QList<QgsMimeDataUtils::Uri> UriList;
92100

‎tests/src/python/test_python_repr.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717
from PyQt5.QtCore import QVariant
1818
from qgis.testing import unittest, start_app
1919
from qgis.core import QgsGeometry, QgsPoint, QgsPointXY, QgsCircle, QgsCircularString, QgsCompoundCurve,\
20-
QgsCurvePolygon, QgsEllipse, QgsLineString, QgsMultiCurve, QgsRectangle, QgsExpression, QgsField, QgsError
20+
QgsCurvePolygon, QgsEllipse, QgsLineString, QgsMultiCurve, QgsRectangle, QgsExpression, QgsField, QgsError,\
21+
QgsMimeDataUtils
2122

2223
start_app()
2324

@@ -125,6 +126,12 @@ def testQgsErrorRepr(self):
125126
e = QgsError('you done wrong son', 'dad')
126127
self.assertEqual(e.__repr__(), "<QgsError: dad you done wrong son>")
127128

129+
def testQgsMimeDataUri(self):
130+
d = QgsMimeDataUtils.Uri()
131+
d.uri = 'my_uri'
132+
d.providerKey = 'my_provider'
133+
self.assertEqual(d.__repr__(), "<QgsMimeDataUtils::Uri (my_provider): my_uri>")
134+
128135

129136
if __name__ == "__main__":
130137
unittest.main()

0 commit comments

Comments
 (0)
Please sign in to comment.