From e921f796f1578e6b87cd369f0735a9e07b071a0d Mon Sep 17 00:00:00 2001 From: foamyguy Date: Wed, 4 Dec 2024 09:30:24 -0600 Subject: [PATCH 1/3] make circle and dot always use degrees internally --- adafruit_turtle.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/adafruit_turtle.py b/adafruit_turtle.py index c9d7f97..ed5a550 100644 --- a/adafruit_turtle.py +++ b/adafruit_turtle.py @@ -626,6 +626,12 @@ def circle( # --or: circle(radius, extent) # arc # --or: circle(radius, extent, steps) # --or: circle(radius, steps=6) # 6-sided polygon + change_back = False + if not self._in_degrees(): + change_back = True + original_mode = "standard" if not self._logomode else "logo" + self.degrees() + self.mode("standard") pos = self.pos() h = self._heading if extent is None: @@ -647,6 +653,9 @@ def circle( # get back to exact same position and heading self.goto(pos) self.setheading(h) + if change_back: + self.radians() + self.mode(original_mode) # pylint: disable=possibly-used-before-assignment # pylint:disable=inconsistent-return-statements def speed(self, speed: Optional[int] = None) -> Optional[int]: @@ -690,6 +699,13 @@ def dot(self, size: Optional[int] = None, color: Optional[int] = None) -> None: :param color: the color of the dot """ + change_back = False + if not self._in_degrees(): + change_back = True + original_mode = "standard" if not self._logomode else "logo" + print(f"old mode: {original_mode}") + self.degrees() + self.mode("standard") if size is None: size = max(self._pensize + 4, self._pensize * 2) if color is None: @@ -713,6 +729,9 @@ def dot(self, size: Optional[int] = None, color: Optional[int] = None) -> None: self._pensize = 1 self._plot(self._x, self._y, color) self._pensize = pensize + if change_back: + self.radians() + self.mode(original_mode) # pylint: disable=possibly-used-before-assignment def stamp( self, @@ -882,6 +901,10 @@ def degrees(self, fullcircle: float = 360) -> None: """ self._setDegreesPerAU(fullcircle) + def _in_degrees(self) -> bool: + print(self._degreesPerAU) + return self._degreesPerAU == 1.0 + def radians(self) -> None: """Set the angle measurement units to radians. Equivalent to degrees(2*math.pi).""" From 96222c342964255c0a4f23d2cf7f077a408dec3f Mon Sep 17 00:00:00 2001 From: foamyguy Date: Wed, 4 Dec 2024 10:12:15 -0600 Subject: [PATCH 2/3] remove space --- adafruit_turtle.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/adafruit_turtle.py b/adafruit_turtle.py index ed5a550..dfa6d0e 100644 --- a/adafruit_turtle.py +++ b/adafruit_turtle.py @@ -655,7 +655,7 @@ def circle( self.setheading(h) if change_back: self.radians() - self.mode(original_mode) # pylint: disable=possibly-used-before-assignment + self.mode(original_mode) # pylint:disable=possibly-used-before-assignment # pylint:disable=inconsistent-return-statements def speed(self, speed: Optional[int] = None) -> Optional[int]: @@ -731,7 +731,7 @@ def dot(self, size: Optional[int] = None, color: Optional[int] = None) -> None: self._pensize = pensize if change_back: self.radians() - self.mode(original_mode) # pylint: disable=possibly-used-before-assignment + self.mode(original_mode) # pylint:disable=possibly-used-before-assignment def stamp( self, From 591b805474ebc34297c45f7416c2ad389588cc73 Mon Sep 17 00:00:00 2001 From: foamyguy Date: Wed, 4 Dec 2024 10:16:11 -0600 Subject: [PATCH 3/3] remove pylint disables --- adafruit_turtle.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/adafruit_turtle.py b/adafruit_turtle.py index dfa6d0e..df57e77 100644 --- a/adafruit_turtle.py +++ b/adafruit_turtle.py @@ -655,7 +655,7 @@ def circle( self.setheading(h) if change_back: self.radians() - self.mode(original_mode) # pylint:disable=possibly-used-before-assignment + self.mode(original_mode) # pylint:disable=inconsistent-return-statements def speed(self, speed: Optional[int] = None) -> Optional[int]: @@ -731,7 +731,7 @@ def dot(self, size: Optional[int] = None, color: Optional[int] = None) -> None: self._pensize = pensize if change_back: self.radians() - self.mode(original_mode) # pylint:disable=possibly-used-before-assignment + self.mode(original_mode) def stamp( self,