=> fd1ea198fa187e02792837c9cba5ca63c4670021
[1mdiff --git a/chutney/weather/weather_display.py b/chutney/weather/weather_display.py[m [1mindex 8d90570..c65d953 100644[m [1m--- a/chutney/weather/weather_display.py[m [1m+++ b/chutney/weather/weather_display.py[m [36m@@ -20,7 +20,8 @@[m [mclass WeatherDisplay:[m self.symbolDisplay.clearRow(self.topRow)[m [m if self.isTemperatureValid(temperature):[m [31m- self.showTemperature(list(temperature))[m [32m+[m[32m self.updateColor(temperature)[m [32m+[m[32m self.showTemperature(temperature)[m [m def getTemperature(self):[m try:[m [36m@@ -33,33 +34,57 @@[m [mclass WeatherDisplay:[m def isTemperatureValid(self, temperature):[m return not (temperature == 'error' or temperature == 'init' or temperature == 'halted')[m [m [32m+[m[32m def updateColor(self, temperature):[m [32m+[m[32m if int(temperature) > 0:[m [32m+[m[32m self.color = colors.ORANGE[m [32m+[m[32m else:[m [32m+[m[32m self.color = colors.BLUE[m [32m+[m def showTemperature(self, temperature):[m [31m- start = self.getStartColumn(temperature)[m [32m+[m[32m column = self.getStartColumn(temperature)[m [m [31m- for c in temperature:[m [32m+[m[32m for c in list(temperature):[m if c == '-':[m [31m- self.symbolDisplay.displayNegative([m [31m- x=start-3,[m [31m- y=self.topRow,[m [31m- color=self.color[m [31m- )[m [32m+[m[32m offset = 2 if self.startsWithOne(temperature) else 3[m [32m+[m[32m self.showNegative(column - offset)[m else:[m [31m- self.symbolDisplay.displayDigit([m [31m- x=start,[m [31m- y=self.topRow,[m [31m- digit=c,[m [31m- color=self.color[m [31m- )[m [31m- start = start + self.digitWidth[m [32m+[m[32m self.showDigit(column, c)[m [32m+[m[32m column = column + self.digitWidth[m [m [31m- self.symbolDisplay.displayDegree([m [31m- x=start,[m [32m+[m[32m self.showDegree(column)[m [32m+[m [32m+[m[32m def getStartColumn(self, temperature):[m [32m+[m[32m offset = 1 if self.startsWithOne(temperature) else 0[m [32m+[m[32m startColumn = self.oneDigitStartColumn if self.isOneDigit(temperature) else self.twoDigitStartColumn[m [32m+[m [32m+[m[32m return startColumn - offset[m [32m+[m [32m+[m[32m def startsWithOne(self, temperature):[m [32m+[m[32m absoluteTemperature = abs(int(temperature))[m [32m+[m [32m+[m[32m return absoluteTemperature == 1 or absoluteTemperature//10 == 1[m [32m+[m [32m+[m[32m def isOneDigit(self, temperature):[m [32m+[m[32m return abs(int(temperature))//10 == 0[m [32m+[m [32m+[m[32m def showNegative(self, column):[m [32m+[m[32m self.symbolDisplay.displayNegative([m [32m+[m[32m x=column,[m y=self.topRow,[m color=self.color[m )[m [m [31m- def getStartColumn(self, temperature):[m [31m- return self.oneDigitStartColumn if (self.isOneDigit(temperature)) else self.twoDigitStartColumn[m [32m+[m[32m def showDigit(self, column, digit):[m [32m+[m[32m self.symbolDisplay.displayDigit([m [32m+[m[32m x=column,[m [32m+[m[32m y=self.topRow,[m [32m+[m[32m digit=digit,[m [32m+[m[32m color=self.color[m [32m+[m[32m )[m [m [31m- def isOneDigit(self, temperature):[m [31m- return (len(temperature) == 2 and temperature[0] == '-') or len(temperature) == 1[m [32m+[m[32m def showDegree(self, column):[m [32m+[m[32m self.symbolDisplay.displayDegree([m [32m+[m[32m x=column,[m [32m+[m[32m y=self.topRow,[m [32m+[m[32m color=self.color[m [32m+[m[32m )[m
text/gemini; charset=utf-8
This content has been proxied by September (3851b).