From ddcd5967ed6078b207f5fcf95f0534e1428f07f7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20Bergstr=C3=B6m?= <davbe125@student.liu.se>
Date: Tue, 3 Jul 2018 13:13:34 +0200
Subject: [PATCH] Add __repr__ and __str__ to Point2DI

---
 python-api-src/lib_point.cpp | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/python-api-src/lib_point.cpp b/python-api-src/lib_point.cpp
index 40bc11a83..825500d22 100644
--- a/python-api-src/lib_point.cpp
+++ b/python-api-src/lib_point.cpp
@@ -33,10 +33,18 @@ void define_point(py::module & m)
                 return "(" + std::to_string(p.x) + ", " + std::to_string(p.y) + ")";
             });
 
-       py::class_<sc2::Point2DI>(m, "Point2DI", py::dynamic_attr())
-           .def(py::init<int, int>())
-           .def_readwrite("x", &sc2::Point2DI::x)
-           .def_readwrite("y", &sc2::Point2DI::y)
-           .def(py::self == py::self)
-           .def(py::self != py::self);
+    py::class_<sc2::Point2DI>(m, "Point2DI", py::dynamic_attr())
+        .def(py::init<int, int>())
+        .def_readwrite("x", &sc2::Point2DI::x)
+        .def_readwrite("y", &sc2::Point2DI::y)
+        .def(py::self == py::self)
+        .def(py::self != py::self)
+        .def("__repr__",
+            [](const sc2::Point2DI & p) {
+                return "<Point2D: (" + std::to_string(p.x) + ", " + std::to_string(p.y) + ")>";
+            })
+        .def("__str__", 
+            [](const sc2::Point2DI & p) {
+                return "(" + std::to_string(p.x) + ", " + std::to_string(p.y) + ")";
+            });
 }
\ No newline at end of file
-- 
GitLab