@Mr.Servotomele hat geschrieben:Moin.
Die meisten von uns werden sich wohl schon einmal gewundert haben, warum bei Verwendung der Yahoo-Wettercodes (0-47 und 3200) in der Nacht mal Icons mit Mond und mal Icons mit Sonne erscheinen. Die Antwort ist simpel: Es gibt zwar Nacht-Icons, aber leider nur für 7 Wetterbedingungen und nicht für alle.
In meinem LCD-Skin benutze ich die Codes für die fantastischen Android-Wettericons von King0r. Wir haben uns dann beide an den fehlenden Nacht-Icons gestört und überlegt, was man tun könnte. Letztendlich planen wir, den Iconsatz um eine Reihe von Nachticons zu ergänzen. King0r ist der Grafiker und wird sich um die Icons kümmern, sobald er Zeit findet. Ich bin der Coder und hab mal was zum Testen implementiert.
Die Idee ist, zu jedem Tages-Icon ein Nacht-Icon zu ermöglichen. Das bekommt zur Nummer einfach 1000 addiert, zu 9.png gehört dann 1009.png. Der Converter muss dann nur zwischen Sonnenuntergang und Sonnenaufgang schauen, obe es ein entsprechendes Nacht-Icon gibt und ggf. statt dem Tag-Icon liefern. Meine scheinbar funktionierende Modifikation des OAWeather Converters sieht so aus:
Natürlich kann man den geänderten Converter parallel nutzen, aber vielleicht schafft es die Idee ja auch ins Original?Code: Alles auswählen
@cached def getIconFilename(self): if self.mode == "logo": try: path = join(self.source.pluginpath, "Images", "%s_weather_logo.png" % self.source.logo) if isfile(path): return path except Exception: return "" if self.index in (self.CURRENT, self.DAY1, self.DAY2, self.DAY3, self.DAY4, self.DAY5): path = self.source.iconpath if self.path: path = self.path if path and exists(path): code = self.source.getYahooCode(self.index) if code: # start of modification sunrise=int(self.source.getSunrise().replace(":","")) if not (sunrise and sunrise > 0 and sunrise < 2400): sunrise = 700 sunset=int(self.source.getSunset().replace(":","")) if not (sunset and sunset > 0 and sunset < 2400): sunset = 1900 ltime = localtime(time()) now = (ltime.tm_hour*100)+(ltime.tm_min) if now and now >= 0 and now < 2400 and (now < sunrise or now > sunset): nightpath = join(path, "%s.%s" % (int(code)+1000, self.extension)) if isfile(nightpath): return nightpath # end of modification path = join(path, "%s.%s" % (code, self.extension)) if isfile(path): return path self.debug("getIconFilename not found mode:%s index:%s self.path:%s path:%s" % (self.mode, self.index, self.path, path)) return "" def debug(self, text: str): if self.enabledebug: print("[OAWeather] Converter DEBUG %s" % text) iconfilename = property(getIconFilename)
LG Thomas
Hast du dir das mal angeschaut?
Gruß
mellie.w